c#编程题,基础的急用谢谢?编程基础题:分类求和
本文目录
c#编程题,基础的急用谢谢
1、判断是否子串:IndexOf,比如判断T是否S子串,写法是intidx=S.IndexOf(T);此时,如果idx返回不小于0的数值,则代表T是S的子串;如果不是,则返回-1。2、idx就是你要的起始位置。3、授人以鱼不如授人以渔,所以代码你就自己写吧,总共只用到了IndexOf这一个方法。
编程基础题:分类求和
#include《stdio.h》#include《malloc.h》int main (void){ int n,i,j=0,k=0,sum1=0,sum2=0; int *p; scanf("%d",&n); p=(int*)malloc(sizeof(int)*n); for( i=0;i《n;i++) scanf("%d",&p); for(i=0;i《n;i++) { if(p》0) { sum1+=p; j++; } if(p《0) { sum2+=p; k++; } } printf("%3d%3d%3d%3d",j,k,sum1,sum2); return 0;}手机编写的代码,没有编译,自己编译一下吧,应该能通过,稍微修改了一下,第一步输入数组元素个数n,然后就可以了。
急求 几道C语言基础编程大题 求详细过程
/*九九乘法表*/#include 《stdio.h》int main(){int i,j;for(i=1;i《10;i++){for(j=1;j《10;j++){printf("%dX%d=%d\t",i,j,j*i);if(i==j)break;}printf("\n");}return 0;}
求道C语言基础编程题
//第一题:#include《stdio.h》main(){inta,b,c,t;scanf("%d%d%d",&a,&b,&c);//输入三个数a,b,cif(a《b){t=a;a=b;b=t;}if(a《c){t=a;a=c;c=t;}if(b《c){t=b;b=c;c=t;}printf("%d》%d》%d\n",a,b,c);}//第二题:#include《stdio.h》#include《math.h》voidmain(){floata,b,c,s,k;printf("请输入三边的值:");scanf("%f%f%f",&a,&b,&c);k=(a+b+c)/2.0;s=sqrt(k*(k-a)*(k-b)*(k-c));printf("面积为:%.3f\n",s);}这两个题目很简单啊!不知道是否合你要求??呵呵,给我分吧!
c语言编程基础题目
#include 《stdio.h》int main(){int i,a=1,b=1,c; printf("第1个月:1对\n"); printf("第2个月:1对\n"); for(i=3;i《=30;i++) {c=a+b; printf("第%d个月:%d对\n",i,c); a=b; b=c; } return 0;}
求解一道C语言基础编程题
首先看一下程序的逻辑(虽然貌似题主应该不是在这一块有问题:
关于ascii码的解释:
首先得知道每个字符和数值的对应关系(图不清晰可看戳这里:ascii编码对应表
好了,现在看程序中的第一个if语句,在用大于、小于这些运算比较符比较char的时候,会自动转换为整数比较,也就是说‘0’会转换成48,‘1’转换成49……以此类推,最后是‘9’转换成57,你会发现把这些char减去48就会得到它们各自相对应的整数数值,这就是第一个if里面减去48的目的。同理,接下来的else-if语句,‘A’到‘F’也会转换成整数数值,具体对应的数值可以参看ascii表,一样的道理减去‘A’然后加10的目的也是转换成数值,因为在大于10的进制下,A代表10,B代表11……以此类推,因为这个程序最高就16进制了,所以判断到F就可以了。
然后我们来看进制的解释:
所谓进制,其实就是组合数字的方式,理解了这一点就很好说了。比如说10进制,为什么198等于198(好像很傻一问题)?其实是因为在十进制下,198 (10) = 1 * 10^2 + 9 * 10^1 + 8 * 10^0 = 198(好像是这么回事,(。ì _ í。)),同一个数字,放在不同的位置,它所代表的分量也不一样,即组合数字的方式会影响数字的值,1后面还有2个数字,所以这个1实际上是1 * 10^2 = 100,而不是1,其它位置的数字同理,然后把这些值加起来,就得到了整个数字所代表的最终的值,因此我们才有了 198 = 198(好像很有道理)。
但是,198也可能不等于198,什么时候不等于呢?在不同的进制下。比如说假如我们的这个198是在16进制下的198,那么 198 (16) = 1 * 16^2 + 9 * 16^1 + 8 * 16^0 = 408 (10) = 408。
为什么会产生这种差别呢?因为16进制下的那个1代表的分量是1 * 16^2了,而不是1 * 10^2了,同理,在其它进制下只需要把乘的数字换成对应的进制的数就好了,比如在9进制下那个1就是1 * 9^2等等。
这样一来上面程序里面的for语句就好理解了,之所以用for是因为要算出次方(这个应该不用解释),一个数要乘的次方是它后面跟着的数字的个数,所以是“j = 0; j 《 len - 1”。
然后把这些值加起来,就得到这个数字对应的十进制下的数值,也就完成了最终的转换。
题主可以随便写些不同进制下的数字,然后自己算出十进制下对应的数值,和网站上得出的结果比较比较,这样也可以加深对进制的理解,同时提高计算能力。
戳这里:在线进制转换
这里给出了一个链接,这种网页到处都是,随便搜一下就可以找到。
c语言编程基础题
#include《stdio.h》int main(){int i,j; for(i=-3;i《=3;i++){j=i》0 ? i : -i;printf("%*s",2*j+1,"*");j=7-2*j-1;for(;j--;)printf(" *");printf("\n");}return 0;}
C语言编程基础题求解答
1#define maxl 1000main(){ char s,*p,c;int i,l; scanf("%s",&s);p=s;l=strlen(s); for (i=0;i《=l/2;i++) { c=*(p+i); *(p+i)=*(p+l-i-1); *(p+l-i-1)=c; } printf("%s\n",s);}2main(){ float a,*p,max,min,ave;int i; for (i=0;i《10;i++) scanf("%f",&a); p=a;max=*p;min=*p;ave=*p; for (i=1;i《10;i++) { if (max《*(p+i)) max=*(p+i); if (min》*(p+i)) min=*(p+i); ave=ave+*(p+i); }ave=ave/10; printf("max=%f,min=%f,ave=%f\n",max,min,ave);}3main(){ int a,i,x,*p; for (i=0;i《10;i++) scanf("%d",&a); scanf("%d",&x);p=a; for (i=0;i《10;i++) if (*(p+i)==x) { if (i==0) {printf("%d %d\n",*p,*(p+1));return(0);} if (i==9) {printf("%d %d\n",*(p+i-1),*(p+i));return(0);} printf("%d %d %d\n",*(p+i-1),*(p+i),*(p+i+1));return(0); } printf("no!");}
更多文章:
sscanf提取字符串(c语言sscanf截取字符串函数获取后缀名)
2024年7月2日 06:51
平面设计自学网免费(年轻人学历低可以学习平面设计吗哪里可以学大概要花费多少)
2024年7月23日 00:30
校园跑腿源码php(请问您认为校园跑腿这样的小程序有什么瓶颈,需要哪些方面得创新呢)
2024年7月8日 10:02
game keyboard(游戏键盘 gamekeyboard怎么用)
2024年7月22日 00:25
c语言scanf是不是被弃用了(C语言,scanf语句不知道为什么被跳过了)
2024年7月2日 02:46
c语言培训机构哪个好(呼和浩特有哪些培训班是培训C语言和PS的,哪些比较好,学制是怎么安排的学费是多少急!)
2023年5月8日 18:00
html基础页面(用html标记语言编写一个简单的网页网页最基本的结构是)
2024年6月30日 09:31
java每日一讲ppt(java 问题 如何将ppt文件转为视频格式文件,最好是非工具类)
2024年6月30日 16:35
asynctask的方法(安装QQ时提示无法启动程序,计算机丢失asynctask.dll文件)
2024年6月16日 23:07