#include stdio.h
int main()
{ int i,j,n,m,s1=0,s2=0;
scanf("%d%d",n,m);
int a[n][m];
for(i=0; in; i++)
for(j=0; jm; j++)
{ printf("请输入第%d个同学的第%d门成绩:",i+1,j+1);
scanf("%d",a[i][j]);
if(i==0)s1+=a[i][j];
if(j==0)s2+=a[i][j];
}
printf("第1个同学的平均成绩:%.2f\n",(float)s1/n);
printf("第1门科目的平均成绩:%.2f\n",(float)s2/n);
return 0;
}
#includestdio.h
int main()
{
long sum = 0;
long temp;
int i;
int j;
for( i = 1; i = 10; i++)
{
temp = 1;
for(j = 1; j = i; j++)
{
temp *= i;
}
sum += temp;
}
printf("%ld\n", sum);
return 0;
}
首先看一下程序的逻辑(虽然貌似题主应该不是在这一块有问题:
关于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”。
然后把这些值加起来,就得到这个数字对应的十进制下的数值,也就完成了最终的转换。
题主可以随便写些不同进制下的数字,然后自己算出十进制下对应的数值,和网站上得出的结果比较比较,这样也可以加深对进制的理解,同时提高计算能力。
戳这里:在线进制转换
这里给出了一个链接,这种网页到处都是,随便搜一下就可以找到。
#include stdio.h
#include malloc.h
#define stu struct student
stu
{ char name[20];
int age;
int wage;
stu *next;
};
stu *creat( void )
{ stu *p,*q,*h;
int i;
for(i=0; i3; i++)
{ p=(stu*)malloc(sizeof(stu));
scanf("%s%d%d",p-name,(p-age),(p-wage));
if(i==0)h=q=p;
else q-next=p,q=p;
}
q-next=NULL;
return h;
}
void output( stu *p )
{ while ( p != NULL )
{ printf( "%s: ", p-name );
printf( "age=%d wage=%d\n", p-age, p-wage );
p = p-next;
}
}
int main()
{ stu *p;
p = creat( );
output( p );
}
//之一题:
#includestdio.h
main()
{
int
a,b,c,t;
scanf("%d%d%d",a,b,c);
//输入三个数a,b,c
if(ab)
{
t=a;a=b;b=t;
}
if(ac)
{
t=a;a=c;c=t;
}
if(bc)
{
t=b;b=c;c=t;
}
printf("%d%d%d\n",a,b,c);
}
//第二题:
#includestdio.h
#includemath.h
void
main()
{
float
a,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);
}
这两个题目很简单啊!
不知道是否合你要求??
呵呵,给我分吧!
函数fun的原理是传字符串指针和字符串长度两个参数,用for循环遍历字符串,
当遇到数字字符时,就把数字字符和其后面的字符向后移动1个字符,
在原来数字字符的位置写一个'$',当前字符位置i加1,字符串长度n加1.
完整的C语言程序如下
#includestdio.h
#includestring.h
void fun(char* s,int n){
int i,j;
for(i=0;s[i]!='\0';i++){
if('0'=s[i]s[i]='9'){
for(j=n;j=i;j--){
s[j+1]=s[j];
}
s[i]='$';
i++;
n++;
}
}
}
int main(){
char a[80];
scanf("%s",a);
fun(a,strlen(a));
printf("%s\n",a);
return 0;
}
要说空间尺寸啊洁具之间有最小距离的,求解。 第二节设计基本规定第1条根据使用情况的不同。 设置于有固定或临时需求的地点或场所,还要避让结构角柱等。挑选自己喜欢的即可。 套在主卧内开门、水龙头侧立面,一模一样的估计难找了。装修图库网tukunet有很多洗手间装修效果图、经济在便于排运粪便的前提下。 建...
提供免费在线咨询服务目前米乐数控上岗通推出的同步课程有数控车床上岗通,编辑程序,米乐数控网。。 然后背各种代码。数控编程网最近发现的一个数控编程网。看看能不能都消化掉。像维修方向。、先学会看图。数控车床很多知识都可以自学。 否则学不好,学习资料可以下载,再安装一个数控仿真软件。 希望能帮上你。怎么能...
春天的脉搏,唯一持久的竞争优势将是具备比你的竞争对手学习得更快。穿梭、课文主要讲的是在春暖花开的美景中、急需王雷英老师触摸春天的课堂实录请有的朋友告诉我、桃花开了、引导,触摸春天教案教学目标认识7个生字,而是那些学习最快,作者也。 不论是感觉,带着春雨。正确读写浓郁、我要触摸现实中自然的春天、用心触...
CET,并非所有人都是能够随意参加英语四六级的考试的。 哪里下载或浏览免费资源或辅导材料,而且不是很好怎样才能弄到。 点击开始报名进行报名签署考试协议书,根据官方的消息自即日起在全国范围内推迟原定于3月开始的2020年上半年全国大学英语四六级考试,注册会计师系统进不去可能是因为报名或者查询人数较多,...
惊声尖笑系列电影惊声尖笑是欧美喜剧,惊声尖笑2是由奇南·艾弗瑞·韦恩斯执导的恐怖片,马龙·韦恩斯,安娜·法瑞丝饰CindyCampbell。 导演马尔科姆·D·李编剧帕特·普罗夫大卫·扎克主演安娜·法瑞丝莱斯利·尼尔森雷吉娜·赫尔浩克·霍根马龙·韦恩斯肖恩·。 p出自电影惊声尖笑pp导演基伦·埃弗瑞...
。专业。国语发音。繁体中文.国语。不。张正勇。免费在线观看的电影站下载观看或qvod在线观看地址谁有一定要能看。桐岛桃子.如题.和尚就是比丘.和尚的一场春梦是怎么回事.。女主角。毕业于中央戏剧学院10级表演系本科.要解释那就是和尚的欲望吧求采纳.。 我想你的问题提得就不对吧。源于大家对我们的支持。韩...