C语言编程挑战:解析矩阵对角线元素之和与排序算法实践

创始人
2024-12-23 20:23:39
0 次浏览
0 评论

请高手做下这两道C语言题目,答案好追加100分!

第一个查询intsumx(inta0,intd,intn){/*说明符必须指定类型*/inti,k,s=0;k=a0;for(i=0;iintlength(char*p){char*q,*r;for(q=p;*q!='\0'&&*q!='A';q++)/*与否;AND*/;for(r=q;*r!='\0'&&*r!='Z';r++);returnr-q-1;/*进一步减少1*/}main(){charstr[81];intn;gets(str);/*gets的参数应该是字符指针而不是字符*/n=length(str);printf("Length=%d\n",n);/*n是是一个整数,应该由%d*/getch();}输出。

几道简单的C语言题目

【乙】2.变量a和b最初分别为10和20。
正确的说法是:A:inta=10,intb=20;B:inta=10,b=20;C:inta=10;b=20;D:inta=10;b=20,[C]3。
以下选项中正确的C语言常量为:A:0xEfGhB:'XYZ'C:12.34e5D:'\5A'[A]4。
假设doublex;chars[50];输出双精度浮点数x和字符串s。
正确的说法是:A:printf("%lf%s",x,s);B:printf("%ld%s",x,s);C:printf("%lf%s",&&x,s);D:printf("%lf%s",x,s[50]);[B]5.语句printf("%.1f,%d\n",10./4,10/8);的输出为:A:2.5,1.25B:2.5,1C:1,1.25D:2,1.25【B】6。
给定chach;,该语句相当于语句“ch=getchar();”是:A:scanf("%c",ch)B:scanf("%c",&ch);C:printf("%c",ch);D:printf("%c",&ch);[C]7.设intn,m;令m为n的小数百位:A:m=n/100;B:m=n0;C:m=n/100;D:m=n/100;【C】8。
让x,y浮动;设y为x的小数部分语句为:A:y=(int)x;B:y=int(x);C:y=x-(int)x;D:y=x-int(x);[C]9.与语句“m+=(x=5)+(--y);”等效的语句序列是:A:m=m+x+y;x=5;y=y-1;B:x=5;m=m+x+y;y=y-1;C:x=5;y=y-1;m=m+x+y;D:y=y-1;m=m+x+y;x=5;【B】10;设intn;对应“n是二元”的判断表达式。
位数(10到99)”公式是:A:10<=n<=99B:10<=n&&&&n<=99C:10<=n||n<=99D:10<=n,n<=99【A】11。
ch是数字字符”表达式为:A:ch>='0'&&&&ch<='9'B:ch>0&&&&ch<9C>='0'||ch<='9'D:ch>=0||ch<=9【A】12.与语句“x+=(a++==b)?c:--d;”功能等价的语句段为:A:if(a==b){a=a+1;x=x+c;}else{a=a+1;d=d-1;x=x+d;}B:a=a+1;if(a==b){x=x+c;}否则{d=d-1;x=x+d;}C:if(a==b){a=a+1;x=x+c;}else{a=a+1;x=x+d;d=d-1;}D:if(a==b){a=a+1;x=c;}else{a=a+1;d=d-1;x=d;}[C]13.假设ini;写出以下语句的结果:for(i=0;i<5 i);A:0123456B:012345C:01234D:0123[C]14.假设chach;写出下列语句的结果:for(ch='B' ch<='F' ch++)putchar(ch);A:ABCDEFGB:ABCDEFC:BCDEFD:BCDEFG[A]15.以下一维中数组定义,正确的是:A:inta[5]={1,2,3,4,5};B:inta[5] C:inta[1到5];D:inta[][D]16.以下字符串定义和赋值中,正确的是:A:chars[80];s={ B:chars[80];s="ABC" C;chars[80]={ D:chars[80]="ABC" B]17常见的字符串函数中,用于复制字符串的函数是:A:strlenB:strcpyC:strcatD:strcmp[B]18.有一个定义:inti,a[10];可以正确输入a数组的每个元素语句为:A:i=10;scanf( a[i]);B:for(i=0;i a+i);C:for(i=0;i a[i]);D:for(i=0;i a);[B]19.有一个定义:inta[10]={6,7,8,9,10};正确的解释是:A:按顺序分配5个初始值给a[1]到a[5]B:分配5个初始值初始值分配给a[0]到a[4]按顺序。>C:将5个初始值依次赋给a[6]到a[10]。
D:将5个初始值依次赋给a[5]到a[。
9]

10道经典的C语言例题(含参考程序)

intmain()

{

intbai_wei,shi_wei,ge_wei,i,sum=0;

for(i=100;i<1000>

{

bai_wei=i/100;

shi_wei=(i0)/10;

ge_wei=i;

if(i==pow(bai_wei,3)+pow(shi_wei,3)+pow(ge_wei,3))

{

printf("%d",i);

sum++;

if(sum%5==0)

printf("");

if(sum%5==0);

printf("");

><р>

printf("");

return0;

intmain()

{

intx,y,min,max,i;

printf("请输入任意两个整数:");

scanf("%d%d",&x,&y);

y?y:x;

y?x:y;

0;i--)

if(x%i==0&&y%i==0)

{

printtf("这两个整数的最大公约数是%d",i);

break;

for(i=max;i<=x*y;i++)

if(i%x==0&&i%y==0)

{

printf("最小这两个整数的公倍数:%d",i);

break;

}

return0;

#defineN50

intmain()

{

intsum1=0,sum2=0,sum3=0,sum4,i=0;

charstr[N];

printf("请输入字符串:");

charstr[N];

printf("请输入字符串:");

扫描("%s",str);

{

='a'&&str[i]='A'&&str[i]<='Z'))

sum1++;

if(str[i]=='')

sum2++;

='0'&&str[i]<='9')

sum3++;

}

sum4=strlen(str)-sum1-sum2-sum3;

printf("英文字母个数:%d",sum1);

printf("空格数:%d",sum2);

printf("位数:%d",sum3);

printf("其他字符数:%d",sum4);

return0;

4.求s=a+aa+aaa+aaaa+aa。
..a的值,其中a是数字。
例如2+22+222+2222+22222(这段时间一共加了5位数字),几位数字的加法是用键盘控制的。

intmain()

{

inta,n,s=0,i,x=0,y=0;

printf("请输入整数a的值:");

scanf("%d",&a);

printf("请输入添加的数值n:");

scanf("%d",&n);

{

x=y+2*pow(10,i);

y=x;

s=s+x;

printf("s=%d",s);

peturn0;

intmain()

{

intsum=0,i,j;

printf(“1000以内的理想数字:”);

for(i=2;i<=1000;i++)

{

if(i%j==0)

sum=sum+j;

if(sum==i)

printf("%d",i);

sum=0;

printf("");

在辞职urn0;

intpows(inta,intn)

{

intsum=1,i;

sum=sum*a;

返回金额;

intmain()

{

intn,i,k,x;

printf("n=");

scanf("%d",&n);

for(i=1;i<6>

if(n/pows(10,i)==0)

{

printf("%d",i);

k=i;

break;

{

x=n/pows(10,i);

printf("%d",x);

}

printf("%d",x);

}

printf("");

return0;

intmain()

{

intn,a[5],i=0;

printf("请输入5位数字:");

scanf("%d",&n);

scanf("%d",&n);

scanf("%d",&n);

while(n!=0)

{

a[i]=n;

n=n/10;

i++;

if(a[0]==a[4]&&a[1]==a[3])

printf("这个数字是回文");

else

printf("这个数字不是回文");

return0;

voiddigui(chara[],intn)

{

if(n==1)

printf("%c",a[0]);

else

{

printf("%c",a[n-1]);

digui(a,n-1);

>

intmain()

{

charstr[5];

printf("请输入5个字符:");

扫描("%s",str);

digui(str,5);

printf("");

return0;

intmain()

{

inti,a=1,b=1;

floatsum=0.0;

for(i=1;i<=20;i++)

{

sum=sum+(float)(a+i)/b;

b=a+i;

a=i;

}

printf("sum=%f",sum);

return0;

intdigui(intn)

{

if(n==1)

return1;

else

returnn*digui(n-1);

intmain()

{

intn,sum;

printf("n:");

scanf("%d",&n);

sum=digui(n);

printf("sum=%d",sum);

return0;

求C语言题目

C经典语言100题:【程序1】题:数字是1、2、3、4。
填写百位位,十位和个位都是1、2、3、4。
;i20万元以下时,10万元以下部分按10%收取佣金。
10万元以上60万元至40万元之间,佣金为3%;60万元至100万元之间,60万元以上佣金为1.5%;1.5%输入当月利润,求出要分配的商品数量1、程序分析:请用轴除数分配源码:main(){farinti;intbonus1,Bonus2,Bonus4,奖金6,奖金10,奖金;scanf("%ld",&i);us2奖金1+100000*0.75;奖金4奖金2+200000*0.5;奖金6奖金4+200000*0.3;奖金10b负载6+400000*0,15;if(i<100000>详细分析请看:2、程序源码:#include"math.h"main(){farinti,x,y,z;pro(i1;i2)/*如果年份是闰年,月份是大于2,天数为要相加的一天*/sum*;printf("itisthe%dthday",summ);}设置,现在是一年中的哪一天?1、程序分析:比如需要添加前两个月,添加第5天,即一年中的第5天。
这是必须假设的。
2、程序源码:main(){intday,month,year,am,jump;print(\n请输入年、月、日\n");scanf("%d,%d,%d&Day);switch(month))/*上个月的第一个天数*/{case1:sum0;中断,case2:sum31,break,case3:sum59,break,case4:sum90,break,case5,sum120,break,case6,sum151;中断,case7:sum181;休息案例8:sum212;休息案例9:sum243;休息案例10:sum273;休息案例11:sum304;休息案例12:sum334;休息default:printf("dataerror");break;/*到某个日期的天数*/if(year%4000||(year%40&&year0!0))/*判断是否是闰年。
*/leap1,elseleap0,if(leap1&&month>2)/*如果是闰年月份大于2的话则在总天数上加一天*/sum*+;print("Itisthe%dth.,sum);}【程序5】问题:输入三个整数x,y,z……请将这三个数从小到大转换。
与y*交换,然后x和z;z){tz;zx;xt;}/*交换x和z的值*/if(y>z){ty;yz;zt;}/*z和y的值*/printf(“smalltoh3:%d%d%d\n",x,y,z);}【程序6】标题:使用符号*输出字母c的模式。
1、程序分析:可以先用。
*'在writepaper中写入字母c,然后2.程序源代码:#include"stdio.h"main(){printf("helloc-world!\n");printf("****\n");”);;printf("*\n");标题:输出特殊图案,请在C环境下运行一下,看一下,很漂亮!1、分析程序:共256个字符。
h"main(){Chara176,b219;print("%c%c%c%c%c\n",b,a,a,a,b);printf("%c%c%c%c%c\n",a,b,a,b,a);printf("%c%c%c%c%c\n",a,a,b,a,a);printf("%c%c%c%c%c\n",a,b,a,b,a);printf("%c%c%c%c%c\n"b,a,a,a,b*);}【程序8】标题:输出9*9公式1、程序分析:考虑行和列,9行9列之和,i统治行,统治列“stdio.a,b*);}”h"main(){inti,j,结果;print("\n");j++){resulti*j;printf("%d*%d%-3d",i,j,结果);/*-半夜还剩3d,占据3号分钟*/}printf("\n");/*每行后换行*/}}[程序9]标题:请求棋盘输出。
1、程序分析:i控制行,j控制列,在i+j总数的变化中控制输出是黑色方块还是白色方块。
j++)if((i+j)20)printf("%c%c",219,219);intf("\n");}}【程序10】标题:打印梯形图两侧,根据第i个输出个数的变化,同时控制梯形图上方的两侧梯形图黑色方块。
两个笑脸*/for(i1;i<11>兔子从出生月份后的第三个月开始每个月都会分娩。
如果兔子不死,每个月有多少只兔子?程序源码:main(){longf1,f2;inti;f1f21;pro(i1;i<20>如果能被整除,则说明该数不是素数,否则该数是素数++)if(m%i0){leap0,break;}if(leap){printf("%-4d",m);h+;if(h0)printf("\"n");三次幂+3的三次方1、分析程序:用带控制数字100-999,解析每个数字的个位、十位和百位nti、j、k、n;printf("'水花'数字:");//化解十位数字*/kn;/*发烟数字*/if(i*100+j*j*j+k*k*k);-5d",n);}}printf("\n");}【程序14】题目:将一个正整数分解为前90个因数,打印902*3*5表示第一个因子的重新编织过程完成。
(2)如果n能被k整除,则必须打印k的值,并除以k。
新的正整数tun,重复第一步。
(3)如果n不能被k整除,则用k+作为k的值,并重复第一步hu*/main(){intn,i;printf("\npleaseinputanumber:\n");Scanf("%d",&n);printf("%d",n);用a表示,60-89分的用b表示,60分以下的用c表示。
1.程序分析:(a>b.))a:b这是条件运算符的基本示例。
a':(s*核心>60'b':'c');printf("%dbelongsto%c",Score,Grade);}【程序15】问题:使用嵌套条件运算符完成这道题:学生分数>90分分数在60到89之间的学生用B表示,60以下的分数用C表示1.程序分析:(a>b)?a:b是条件运算符的基本示例。
2、程序源码:main(){intscore;cargrade;printf("请输入分数\n");scanf("%d",&score);成绩>90?'A':(成绩>60?'B':'C');printf("%dbelongsto%c",Score,Grade);}倍数。
1.程序分析:采用省略法。
2.程序源码:main(){inta,b,num1,num2,temp;:\n");scanf("%d,%d",#1,#2);um1{temp1;num1num2;num2temp;}anum1;bnum2;while(b!0)/*使用翻转方法直到b为0*/{t​​emp%b;ab;btemp;}printf("gongyueshu:%d\n",a);printf("gongbeishu:%d\n",num1*num2/a);}numbers:使用该语句时,条件是输入字符不是'\n'。
f("请输入一些字符\n");while((cgetchar())!'\n'){if(c>'a'&&c'a'&&c'0'&&c<'9')digit+;s++;}printf("allinall:char%dspace%ddigit%dothers%d\n",字母、空格、数字、其他);}【程序18】标题:sa+aa+aaa+值aaaa+aa...a,其中a是一个数字。
一个tinciduntnta,n,count1;longintsn0,tn0,printf("请输入andn\n");scanf("%d,%d",&a,&n);n);w*hile(count是“一个完美数”。
例如61+2+3(){staticintk[10];inti,j,n,s;1000;j++){n-1;sj;nam(i1;i{if((j%i)0){n+;ss-i;k[n]i;}}if(s0){printf("%disawanshu",j);for(i0;iprintf("%d,"k[i]);printf("%d\n",k[n]);}}}地球。
序列分析:见下面注释2是天数前几天桃子加了1*/x2x1;}printf("thetotalis%d\n",x1);}昨天的剩菜剩饭,第十天早上再想吃的时候,发现还有。
只剩下一个桃子了1.程序分析:使用逆向思维,从后往前收集,第一天的数字是桃子,第二天的数字相加1*/x2x1;}printf("thetotal%d\n",x1);论证:两个乒乓球桌是匹配的。
,每个A队有a、b、c三名队员,B队有x、y、z三名队员。
他向队员们询问比赛名单分析:如何判断素数:用数字来除。
乘2到sqrt(这个数),这样如果能被整除,就说明这个数不是素数,否则这个素数就是b的对手,k的对手就是c的对手*/for*(i'x';i<'z';i++)for(j'x';j<'z';j++){if(i!j)for(k'x';k<'z';k++){if(i!k&&j!k){if(i!'x'&&k!'x'&&k!'z')printf("ordisa--%c\tb--%c\tc--%c\n",i,j,k);}}}}程序23】标题:打印下面的表格(ias)****************************分析:首先将图分成两部分看。
前四行分为两部分。
该法,最后三行是一个法,使用双循环,第一个表控制行,第二个表控制列。
2、程序源码:main(){inti,j,k;i<3>)printf(");tf("\n");}}[程序24]问题:分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求和前20项.1.分析:接受修改后的分子和分母规则。
;ta;aa+b;bt;/*这是程序的关键部分,请functiont*/}printf("youtake%9.6f\n",s);}【程序25】标题:Sum1+2!+3!+...++20!floatn,s0*,t1;for(n1,n<20>main(){inside5;无效佩林(intn);printf("\40:");n(i);printf("\n");}voidpalin(n)intn;{charnext;if(n<1>当问第五个人多大时,他说他比第四个人大2岁。
当问第三个人时,他说他大两岁。
第二个人说他比第四个人大两岁。
第一人称最后我问第一个人,他说他10岁分两个阶段:回归和复发。
我们需要知道第四个人的年龄,以此类推,推回到第一个人(10岁),再推回到第一个人。
n1)c10;不在场证明(n)-1)+2;return(c);}ma(){printf("%d",age(5));}[程序29]问题:给定一个不超过5位数字的正整数:以相反的顺序打印手指。
1.分析程序:学习旋转每个手指,解释如下:(这里是算法简单,如果赵鑫,数学002级;师范学院)2.程序源码:main(){long,b,c,d,e,x;scanf("%ld",&x);ax/1000;/*分解为万位*/bx000/1000;/*分解为千位*/cx00/100;/*分解为百位*/dx0/10;/*分解为几十位*/ex;/*分解个位数*/if(a!0)printf("有5,%ld%ld%ld%ld%ld\n",e,d,c,b,a);elseif(b!0)printf("thereare4,%ld%ld%ld%ld\n",e,d,c,b);seif(c!0)printf("thereare3,%ld%ld%ld\n”、e、d、c);0)printf("ess2,%ld%ld\n",e,d);e);}【程序30】问题:5位数字是回文数吗?它与一千个手指相同。
1、程序分析:同29例2、程序源码:ma(){longge,shi,qian,wan,x;scanf("%ld",&x);60/10;gex;if(gewan&&shiqian)/*数字的位数等于千位,十位=千位*/printf("thisnumberisahuiwen\n");\n");}【程序31】标题:请输入星期几的第一个字母。
判断星期几。
如果第一个字母相同,则继续判断第二个字母。
1.程序分析:最好用条件语句或者if语句来判断第二个字母rintf("pleaseinputthefirstletterofsomeday\n");while((lettergetch())!'y')/*当字母按下时结束y*/{case':printf("sabbato\n");elseif((lettergetch())");lseprintf("dataerror\n");"einputsecondletter\n");if("/n");rintf("数据错误\n");休息一下;颜色,你想尝试吗?请快点!d\r\n",color);cprintf("pressanykeytocontinue\r\n");getch();/*输入的字符看不到*/}}【程序33】标题:学习gotoxy()和clrscr()函数程序源码:#includevoidmain(void){clrscr();/*清屏函数*/textbackground(2);gotoxy(1,5);/函数*定位*/cprintf("outputatrow5\n");cprintf("outputatrow10\n");}【程序34】分析:2.程序源码:#includevoidhello_world(void)("hello,world!\n");}voidtwo_hellos(void){intcounter;pro(counter1;counter<3>2.程序源代码:#defineN10main(){inti,j,min,tem,a[N];/*inputdata*/printf("pleaseinputtennum:\n");nam(i0);i{printf("a[%d]",i);scanf("%d",&a[i]);5d",a[i]);intf("\n");/*sorttennum*/for(i0;i{mini;for(ji+1;jif(a[min]>a[j])minj;tema[i];a[i]a[min];[min]tem;}/*outputdata*/printf("Aftersorted\n");pro(i0;iprintf("%5d",a[i]);}[程序38]我发现.*3矩阵对角线元素之和1.程序分析:使用双for循环控制数组的输入,然后累加a[i][i]并output.main(){float[3][3],sum0;inti,j;:\n");][j]);for(i0;i<3>现在输入数字,并按照原来的规则排列。
1、分析程序:首先判断该数字是否大于最后一个数字,然后考虑将中间的数字依次插入一位。
2、流程·源代码:main(){int[11]{1,4,6,9,13,16,19,28,40,100};inttemp1,temp2,number,end,i,j;printf("原始数组:\n");对于(i0;iend)一个[X]数字,否则{f*或(i0;i0number){temp1a[i];a[i]number;for(ji+1;j<11>1、程序分析:先与后交换。
2.程序源代码:#define5main(){inta[n]{9,6,5,4,1},i,。
temp;printf(\noriginalarray:\n");for(i0;i{temp[i];a[i]a[n-i-1];a[n-i-1]temp.4d",a[i]);}【程序41】标题:学习如何使用static来定义静态变量。
程序源码:#includee"stdio.h"varfunc(){intvar0;staticintstatic_var0;printf("\40:varequal%d\n",var);printf("\40:staticvarequal%d\n",static_var);n");ar++;static_var++;}void(){inti;for(i0i<3>h"main(){inti,num,num2,for(i0,i<*3;i++){printf("\40:thenumequale%d\n",num);num+;{autointnum1;printf("\40:内部块编号等于%d\n",num);num*+;】标题:学习使用静态的另一种方法。
num++,{staticintnum1,printf("\XL:theintern"alblocknumequal%d\n",num);num+;}}}【程序44】标题:学习如何使用external。
程序源码:#include"stdio.h"inta,b,c;voidadd(){inta;a3;rintf("thevalueofcisequalto%d\n",c);}[程序45]标题:学习如何使用寄存器定变量。
("%d",#num);("\40:这个数字的平方是%d\n",sq(num));}}"stdio.h"#defineTRUE1#defineFALSE0#defineSQ(x)(x)*(x)empty(){intnum;intagain1;printf("\40:如果输入值小于50,程序将停止。
\n");\40:请输入数字>");scanf("%d",#num);printf("\40:这个数字的平方是%d\n",SQ(num));程序47】标题:宏#define命令练习(2)程序源代码:#include"stdio.h"#defineexchange(a,b){\/*宏定义中可能包含两个服装命令,此时必须添加它们最右边的“\”*/intt;\ta;\ab;\bt;\}空(空){intx10;2020年;printf("x%d,y%d\n",x,y);标题:宏m(x,y)(x>y)y:xvoidmain(){inta10,b20;#ifdefmaxprintf("\40:thelargeroneis%d\n",max(a,b));下一个是%d\n",最小值(a,b)
文章标签:
C语言 题目
热门文章
1
C语言字符串常量解析:区别、用途及存储方... 什么是字符串常量字符串常量是C语言中的一种数据类型,它是由一对双引号括起来的字符...

2
C语言printf函数:格式字符串与输出... printf函数中的格式与输出项有什么关系?在C语言中,printf函数中的格式...

3
Excel技巧:计算字符串起始位置与合并... 如何计算字符串在特定文本中的起始位置,怎么计算字符串在特定文本中的起始位置您可以...

4
Python发音全解:掌握正确的发音方法... python怎么读我的很多学习编程的朋友可能都知道Python这个词,但是他们中...

5
字符与字符串:编程中的基础文本类型解析 字符串什么意思字符串是由数字、字母和下划线组成的字符串,表示为s=“a1a2…a...

6
Python编程语言:多领域应用与开发优... Python的作用是什么?Python是一种跨平台计算机编程语言,是ABC语言的...

7
深度解析:C语言编程特点与应用领域 什么叫c语言C语言是一种编程语言。C编程语言应用广泛,具有以下特点和特点:1.语...

8
Java全解析:跨平台编程语言的魅力与多... java是什么Java是一种功能强大的编程语言,被称为“一次编写,随处运行”模型...

9
深入解析:字符与字符串在编程中的应用与区... 字符串与字符的区别在编程领域,String和Char都是基本数据类型,但是它们的...

10
C语言数组与指针区别解析:a与&... C语言:数组,*a和&*a有什么区别?1.本质区别双引号里面的是字符串,...