首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++程序有关问题!帮帮小弟我这个初学者!多谢

2012-02-14 
C++程序问题!帮帮我这个菜鸟!谢谢!我刚学C语言,老师布置了2题作业我自己写出来的,但是有错误,我不知道错在

C++程序问题!帮帮我这个菜鸟!谢谢!
我刚学C语言,老师布置了2题作业我自己写出来的,但是有错误,我不知道错在那里了,帮我指出来好吗?谢谢了!

题目:
1.编写一个程序,用于接受用户输入的两个数(可以是整数也可以是小数),对其执行加,减,乘,除及求余运算,然后以格式化方式显示结果,要求小数点保留两位有效数字!  

我写的代码:#include <stdio.h>  
void   main()  
{  
float   a,b;
float   q,w,e,r;  
int   t;    
printf( "请输入两个数字: ");  
scanf( "%f%f ",&a,&b);  
q=a+b;  
w=a-b;  
e=a*b;  
r=a/b;  
t=a%b;  
printf( "和为%7.2f\n ",q);  
printf( "差为%7.2f\n ",w);  
printf( "积为%7.2f\n ",e);  
printf( "商为%7.2f\n ",r);  
printf( "余为%7d\n ",t);  
}

2,编写一个程序要求输入一个数,输出该数分别与1~10的数相乘的结果。输出结果如图:  
1*1=1  
1*2=2,2*2=4  
1*3=3,2*3=6,3*3=9  
.........  
...........  
1*10=10,2*10=20,......10*10=100。  

我写的代码:
#include <stdio.h>
void   main()
{
float   a;
double   z[10];
printf( "请输入一个字: ");
scanf( "%f ",&a ");
z[1]=a*1,z[2]=a*2,z[3]=a*3,z[4]=a*4,z[5]=a*5,z[6]=a*6,z[7]=a*7,z[8]=a*8,z[9]=a*9,z[10]=a*10;
printf( "a*1=z[1]\n ",a,z[1]);
printf( "a*1=z[1],a*2=z[2]\n ",a,z[1],z[2]);
printf( "a*1=z[1],a*2=z[2]\n,a*3=z[3]\n ",a,z[1],z[2],z[3]);
printf( "a*1=z[1],a*2=z[2],a*3=z[3],a*4=z[4]\n ",a,z[1],z[2],z[3],z[4]);
printf( "a*1=z[1],a*2=z[2],a*3=z[3],a*4=z[4],a*5=z[5]\n ",a,z[1],z[2],z[3],z[4],z[5]);
printf( "a*1=z[1],a*2=z[2],a*3=z[3],a*4=z[4],a*5=z[5],a*6=z[6]\n ",a,z[1],z[2],z[3],z[4],z[5],z[6]);
printf( "a*1=z[1],a*2=z[2],a*3=z[3],a*4=z[4],a*5=z[5],a*6=z[6],a*7=z[7]\n ",a,z[1],z[2],z[3],z[4],z[5],z[6],z[7]);
printf( "a*1=z[1],a*2=z[2],a*3=z[3],a*4=z[4],a*5=z[5],a*6=z[6],a*7=z[7],a*8=z[8]\n ",a,z[1],z[2],z[3],z[4],z[5],z[6],z[7],z[8]);
printf( "a*1=z[1],a*2=z[2],a*3=z[3],a*4=z[4],a*5=z[5],a*6=z[6],a*7=z[7],a*8=z[8],a*9=z[9]\n ",a,z[1],z[2],z[3],z[4],z[5],z[6],z[7],z[8],z[9]);
printf( "a*1=z[1],a*2=z[2],a*3=z[3],a*4=z[4],a*5=z[5],a*6=z[6],a*7=z[7],a*8=z[8],a*9=z[9],a*10=z[10]\n ",a,z[1],z[2],z[3],z[4],z[5],z[6],z[7],z[8],z[9],z[10]);
}


[解决办法]
第一题 改为这样
#include <stdio.h>
void main()
{
float a,b;
float q,w,e,r;
int t;
printf( "请输入两个数字: ");
scanf( "%f%f ",&a,&b);
q=a+b;
w=a-b;
e=a*b;
r=a/b;
t= ((int)a%(int)b);
printf( "和为%7.2f\n ",q);
printf( "差为%7.2f\n ",w);
printf( "积为%7.2f\n ",e);
printf( "商为%7.2f\n ",r);
printf( "余为%7d\n ",t);
}
[解决办法]
第二题 这一行有误
scanf( "%f ",&a ");

修改为
scanf( "%f ",&a);
[解决办法]
同时 double z[10];应修改为
double z[11];

因为你的数组下标从1开始,就是使用1-10这10个单元
如果数组下标从0开始就是使用0-9这10个单元,这种情况你可以用double z[10]
C语言中数组下标从0开始

热点排行