當前位置:首頁 » 編程語言 » c語言簡單編程題目兩道求高手
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言簡單編程題目兩道求高手

發布時間: 2022-08-07 17:01:44

⑴ 求c語言高手,兩道程序設計題

看譚浩強的c語言書裡面有鏈表的創建,節點添加,刪除,查找等等鏈表的操作,寫的很完全

⑵ 求兩道C語言編程題!!高手進。

第一題:
#include
int
max(int
m,int
n);
int
min(int
m,int
n);
int
x,y;
//x為最大公約數,y為最小公倍數
void
main()
{
int
m,n;
cout<<"請輸入2個正整數:";
cin>>m>>n;
cout<<"最大公約數為"<
n)
{
for(int
i=n;i>0;i--)
{
if(m%i==0&&n%i==0)
{
x=i;
break;
}
}
}
else
{
for(int
i=m;i>0;i--)
{
if(m%i==0&&n%i==0)
{
x=i;
break;
}
}
}
return
x;
}
int
min(int
m,int
n)
{
max(m,n);
y=m*n/x;
return
y;
}
第二題是啥意思?是要將一個一維數組逆序么?
如果是那樣的話,程序為:
#include
int
main(void)
{
int
n,a[1000],temp;
printf("請輸入數組長度:");
scanf("%d",&n);
for(int
i=0;i
評論
0
0
載入更多

⑶ 求教C語言編程題兩道。

第一個問題要是不帶負號,還是很容易解決。現在腦子有點亂,就只回答第二個簡單一點吧(未編譯,如有錯,調試一下,應該問題不大)
#
include
<stdio.h>
int
main
(void)
{
int
a,
b,
c,
d;
//分別存儲個、十、百位數;
for(i=1000;
i<=9999;
++i)
{
a
=
i%10;
//i對10取余求出個位數;
b
=
i/10%10;
//取出十位;
c
=
i/100%10;
//
得出百位
d
=
i/1000;
//
得出千位
if(i
==
a*a*a*a+b*b*b*b+c*c*c*c+d*d*d*d)

printf("%d為紫荊花數!\n",
i);
}
return
0;
}

⑷ 求高手解答2道c語言程序設計題,急~~~ 見圖

第一題:
數據以逗號分割,數據串第4和第5為關鍵字元
設班級最大可能為1-9,這里好像只有1和2。
有兩種思路處理
a[N][M];
N為班級=9,M為男/女的數量=2
1.
A.每次使用fgets獲取一整行,循環處理
a). 設指針p指向BUFFER的開頭
a). a[*(p+3)-'1'][*(p+4)-'1']++; // -『1』而不是-'0'是為了讓其對准下標從0開始
b). 使用庫函數strchr找到下一個逗號的位置,並賦值給p(注意這里使用p作為查找串,如果沒有逗號,也就是返回Null,證明本行完畢,那麼返回A獲取下一行)
c). 使p增1讓其指向數據串第一個字元(strchr返回的為逗號的位置)
B.輸出
//當然由於數據的固定格式你可以直接每次使p+8而不是使用strchr
2.
使用fscanf("%8s");每次獲取8位的字元串,同上處理,這個自己考慮一下,可能會有點問題,但應該容易解決

我相信你做了第一題之後,另外一題也不是難題。

⑸ C語言簡單題目,求高手解答

#include <stdio.h>
void main()
{ int i =1,sum=0;
while(i<=100)
{ if(i%2==1)
sum=sum+i;
i++;
}
printf(「%d\n」,sum);
}
上面程序的主要功能是 : 求1到100之間所有奇數的和

2、
#include <stdio.h>
void main()
{ long i,s=1;
for(i=2;i<100;i+=2)
s=s*i;
printf(「ld」,s);
}
上面程序的功能是 :求 1 到 100 之間 所有偶數的乘積
3、
#include <stdio.h>
void main()
{ int a[10] ,i=0;
for(i=0;i<10;i++)
{ a[i]=i+1;
printf(「a[%d]=%3d\t 「,i,a[i]);
if( i%2==1)
printf(「\n」);
}
} }
上面程序段輸出的結果是:
a[0]= 1 a[1]= 2
a[2]= 3 a[3]= 4
a[4]= 5 a[5]= 6
a[6]= 7 a[7]= 8
a[8]= 9 a[9]= 10

1、編程,輸入a,b,c三個值,輸出其中最大者。
void main()
{ int a ,b,c,max;
printf("請輸入三個數a,b,c:\n");
scanf("%d%d%d",&a,&b,&c);
max=a;
if(max<b)
max=b;
if(max<c)
max = c;
printf("最大數為:%d",max);
}

1、一球從100m高度自由落下,每次落地後反彈回原高度的一半,再落下。求它在第10次落地時,共經過多少m?第10次反彈多高?試編程求解

#include "stdio.h"
main()
{
float h=100,s = h/2;

int n;
for (n = 2; n <= 10; n++)
{
h = h + 2*s;
s = s/2;
}
printf("第10次落地時經過的總長度是%f\n",h);
printf("第10次談起的高度是%f\n",s);
}

⑹ 求高手幫做兩個C語言編程題,高分

//第一題:這個絕對簡單,便捷。界面良好 ---列印菱形
#include<stdio.h>
int main()
{
int i,j,n;
printf("請輸入菱形高:n = ");
while( scanf("%d",&n) && n>0 )
{
printf("\n");
puts("--------------------------------------------------------------------------------");
for( i = 0 ; i< n ; i++ )
{
for(j=0;j < n-i ; j++ )
printf(" ");
for(j=0;j < (i<<1)+1 ; j++ )
printf("*");
printf("\n");
}
for( i = n-2 ; i>=0 ; i-- )
{
for(j=0;j < n-i ; j++ )
printf(" ");
for(j=0;j < (i<<1)+1 ; j++ )
printf("*");
printf("\n");
}
puts("--------------------------------------------------------------------------------");
printf("請輸入菱形高:n = ");
}
return 0;
}

/*

請輸入菱形高:n = 8

------------------------

*
***
*****
*******
*********
***********
*************
***************
*************
***********
*********
*******
*****
***
*
------------------------

*/

/*第二題:輸入n個點的平面坐標,程序將這些點按照距離原點從近到遠的順序進行排序並輸出。(n>=6)。*/
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#include<string.h>
#define MAXN 200
typedef struct PO
{
double x;
double y;
double z;
} POINT;
POINT a[MAXN];
POINT * p[MAXN];
int cmp( const void * a, const void * b )
{
if( ((POINT*)a)->z > ((POINT*)b)->z )
return 1;
else
return -1;
}

void Init()
{
int i;
for( i = 0 ; i < MAXN ; i++ )
{
p[i] = &a[i];
}
}

int main()
{
int n,i,j,k;
while(1)
{
Init();
printf("\n有幾個點? n=");
scanf("%d",&n);
if(n<=0) continue;
for(i=0;i<n;i++)
{
printf("請輸入第 %d 個點的 x 和 y 坐標: ",i+1);
scanf("%lf%lf",&a[i].x,&a[i].y);
a[i].z = sqrt(a[i].x*a[i].x + a[i].y * a[i].y);
}
qsort(a,n,sizeof(POINT),cmp);
printf("到原點距離排序後輸出:\n");
for(i=0;i<n;i++)
{
printf("( %lf , %lf ) = %lf\n",p[i]->x,p[i]->y,p[i]->z);
}
}
return 0;
}

/*

有幾個點? n=6
請輸入第 1 個點的 x 和 y 坐標: 1 9
請輸入第 2 個點的 x 和 y 坐標: 8 77
請輸入第 3 個點的 x 和 y 坐標: 0 0
請輸入第 4 個點的 x 和 y 坐標: 37 3
請輸入第 5 個點的 x 和 y 坐標: 89 102
請輸入第 6 個點的 x 和 y 坐標: 34 23
到原點距離排序後輸出:
( 0.000000 , 0.000000 ) = 0.000000
( 1.000000 , 9.000000 ) = 9.055385
( 37.000000 , 3.000000 ) = 37.121422
( 34.000000 , 23.000000 ) = 41.048752
( 8.000000 , 77.000000 ) = 77.414469
( 89.000000 , 102.000000 ) = 135.369864
*/
///////哥們。趕緊加分呀。。通宵給你做出來了。。。。。
//又不明白的加我 695033480 。 我負責到底!!!

⑺ 幾道簡單的C語言編程題,請高手幫忙

1
#include<stdio.h>

int main()
{
int sum = 0,i = 1,k = 1,j;
for(i=1;i<102;i+=2) {
j = k*i;
sum += j;
k*=-1;
}
printf("%d\n",sum);
return 0;
}
2
#include<stdio.h>

int main()
{
int n,i;
while(scanf("%d",&n) == 1 && n>1) {
for(i = 2;i*i<=n;i++) {
if(n%i == 0) break;
}
if(i*i > n) printf("素數\n");
else printf("合數\n");
}
return 0;
}
#include<stdio.h>

int main()
{
int a,b,c;
while(scanf("%d %d %d",&a,&b,&c) == 3) {
int max = a;
if(max <b) max = b;
if(max < c) max = c;
printf("%d\n",max);
}
return 0;
}
4看不到圖

#include <stdio.h>
int findmin(int *s,int n) /* s表示數組的首地址,n是數組大小*/
{

int i,min,j;
min = s[0],j = 0;
for(i = 1;i<10;i++)
if(min > s[i]) min = s[i],j = i;
return j;

}
main()
{int a[10],i,k;
for (i=0; i<10; i++)
scanf("%d",&a[i]);
k=findmin(a,10);
printf("%d,%d\n",k,a[k]);
}

⑻ C語言簡單編程題目兩道,求高手做一下。高分!!!!

第1題 :

#include <stdio.h>
#include <stdlib.h>

#define MAX 200

int main(void)
{
int a[MAX], i = 0;

srand(time(NULL)); // 時間種子, 保證真隨機, 每次不會相同

while (i < MAX) {
a[i] = rand() % 10000; // 隨機獲得10000以下數字, 0-9999

if (a[i] < 1000) { // 不是4位數
continue; // 重新隨機
}

i++;
}

FILE *fp;

if ((fp = fopen("in.dat", "wb")) == NULL) {
printf("Open failed.\n");
}

//fwrite(a, sizeof(a), 1, fp); // 將數據寫入文件, 位元組的方式

for (i = 0; i < MAX; i++) { // 字元的方式, 看你下面的scanf, 可能你是要這種
fprintf(fp, "%d ", a[i]);
}

return 0;
}

第2題 :

void isVal(void)
{
int i, tmp, val;
int count = 0, j = 0;

for (i = 0; i < MAX; i++) { // 循環驗證所有數字
count = 0; // 每次清0
tmp = a[i]; // 為了不改變a數組的值, 用tmp保存著

while (tmp > 0) { // 依次取得4個位存到val變數中
val = tmp % 10; // 個十百位位的順序
tmp /= 10; // 每次除10, 以去掉個位數

if (val == 0 || val == 2 || val == 4
|| val == 6 || val == 8) { // 取得的數只要是這5個數中任意一個, count計數就加1
count ++;
}
}

if (count == 4) { // 如果count=4表示4個位都是0/2/4/6/8
b[j++] = a[i]; // 則復制此數字到b數組中, 同時j自增1
}
}

cnt = j; // j的值就是總共符合要求的數, 全局變數cnt賦值與j相同即可.

for (i = 0; i < cnt - 1; i++) { // 冒泡排序將b從小到大排列
for (j = 0; j < cnt - 1 - i; j++)
if (b[j] > b[j + 1]) {
tmp = b[j];
b[j] = b[j + 1];
b[j + 1] = tmp;
}
}

return;
}

⑼ 兩道c語言編程題,初學者,請高手指教。

問題1:
#include <stdio.h>
void main()
{ int i ;
for (i = 33 ; i <= 126 ; i++)
{
printf("字元為%c,十進制為%d,八進制為%o,十六進制為%x\n",i,i,i,i);
}
}
問題2:
#include <stdio.h>

void main()
{
int i , j , num = 0 ;
printf("請輸入一個數:");
scanf("%d",&i);

for (j = 1 ; j <= i ; j++)
num += j ;
printf("結果為%d",num);
}