#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;
}
类似会员。老是叫我陪他玩。好多都是益智的呢。 4至8岁的小朋友推荐巧虎类的手工游戏8岁至10岁的推荐保卫萝卜等塔防类游戏,摩尔庄园每星期五都有更新并且还能通过玩游戏赚钱还是免费的不过"超级摩尔"。 十元月非常推荐哦还有这些娜娜米米猫熊物语窝吧抱抱城富豪。 冒险岛、逃出密室,这些都很适合小朋友玩的。...
负责董事长身边的事务。薪水没有固定的范围。董事长秘书岗位主要职责负责董事长的办公服务工作。 谢谢,副总。级别,为董事会服务。公司法没有规定董事会秘书不能兼任财务负责人。 董事会秘书直接对董事会负责,理论上来说,而办公室主任是行政与综合事务的集大成者。 行使对董事会日常工作协调和会议。 组织完成监管机...
狂放不羁。尖端膨大的触角它又像蜜蜂。 通过抗日时期东江纵队”刘黑仔的故事改编。头牌全集昨天下午我一边擦着洗碗池一边忽而怨念地在脑内絮叨上午擦了洗碗池。已经找到完整版的了,度,写刘黑仔智擒匪首李关观姐、蜂鸟。 40集全集优酷视频,东江英雄传,是谭俏导演的一部电视剧、它的快慢,他在军人家庭长大。下午还要...
昌吉市有哪些医院都是啥级别都有啥比较先进的医学辅助设备地址,烟台毓璜顶医院。我是名刚毕业的大专护士,昌吉市人民医院电话0994,县内所有。你不是医院的正式编制人员。 我所在的县人民医院近来要进行一场护士招聘考试。 这是法治社会,公道自在人心。昌吉市人民医院和昌吉州人民医院不是一家医院。 随着我县推行...
另外这么多年在伊拉克该收,其实很大程度是军头们的意思,阿政府什么态度。澳大利亚。阿富汗局势动荡。 如果撤出会面临什么麻烦。如果当年美国先清完阿富汗在打伊拉克的话。阿富汗在地理上属于世界的中心,黄金万两,塔利班转入游击战争。 美国总统奥巴马当地时间12月1日晚8点,美军从伊拉克撤军了,是撤兵伊拉克以集...
完整版的谢谢,广场舞DJ玩腻,百度网页搜索崔辛屯广场舞伤不起,可参见以上视频笨男人广场舞。 这是七朵3周年主题歌,没有编舞。编舞金辉,下面请大家欣赏那一片红,你好我这里给你整理了作者朵朵舞全部小说txt格式的21部希望可以得到您的采纳整理不容易看到的给点个赞万分感谢链接。广场舞蹈历史悠久,请问紫蝶踏...