能力值:
( LV2,RANK:10 )
251 楼
main()
{
float a,b,c,t;
scanf("%f,%f,%f",&a,&b,&c);
if(a>b)
{
t=a;
a=b;
b=t;
}
if(a>c)
{
t=a;
a=c;
c=t;
}
if(a<b);
{
t=b;
b=c;
c=t;
}
printf("%5.2f,%5.2f,%5.2f\n",a,b,c);
getchar();
}
能力值:
( LV2,RANK:10 )
252 楼
顶顶顶顶顶顶顶
能力值:
( LV2,RANK:10 )
253 楼
思而不学者殆
能力值:
( LV2,RANK:10 )
254 楼
小YY同学,你的程序中使用了scanf
由于它会从键盘读入数据,但没有清其缓冲区, 所以getchar 直接就从缓冲区获取了数据,导致不能停住屏幕。
250楼使用的方法对你有用
加了:
fflush(stdin); //清空输入设备缓存
getchar();
加上这两句就一切OK
能力值:
( LV2,RANK:10 )
255 楼
# include<stdio.h>
int main()
{
int i=1,sum=0;
for(i=1;i<=100;i++);
sum=sum+1;
{
printf("sum=%d\n"sum);
getchar
}
能力值:
( LV2,RANK:10 )
256 楼
#include <stdio.h>
#include <math.h>
main()
{
int sum,sum1,n=1,a=2;
int z;
int i,j;
scanf("%d",&n);
for(j=1;j<=n;j++)
{
for(i=1;i<=n;i++)
{
z=int(pow(a,n));
sum1=sum1+z;
}
sum=sum+sum1;
}
printf("%d",sum);
getchar();
}
能力值:
( LV2,RANK:10 )
257 楼
//pow(x,y) 所使用的数据类型为float 或 double 所以下面程序中不进行数据类型转换就会出现0数据溢出错误。
#include "stdio.h"
#include "math.h"
main()
{
int i,j=0,k;
for(i=0;i<3;i++)
{
j=j+ int(1*float(pow(10,i))); //此行改为: j=j+pow(10,i);就会让结果成为110,而正确为111.
}
printf("%d",j);
getchar();
}
能力值:
( LV2,RANK:10 )
258 楼
好好学习,天天向上
能力值:
( LV2,RANK:10 )
259 楼
#include "stdio.h"
#include "math.h"
main()
{
int i,j=0,k,sum=0;
int n=4;
for(k=1;k<=n;k++)
{
j=0;
for(i=0;i<k;i++)
{
j=j+2*float(pow(10.0,float(i))); //此行改为: j=j+pow(10,i);就会让结果成为110,而正确为111.
}
printf("%d\n",j);
sum=sum+int(j);
}
printf("%d",sum);
getchar();
}
能力值:
( LV2,RANK:10 )
260 楼
//题目:从键盘输入一个英文单词,判断这个这个单词中是否有字母a,
//若有输出这个单词,否则输出:请换一个。
/*
在用c语言编写输入语句的时候常用到scanf函数,初学者在刚用scanf函数输入时,
经常会遇到各种各样的输入错误,最重要的是一定要记住scanf函数的输入格式,scanf
函数里包含了哪些东西,输入的时候就必须有哪些东西,比如:scanf("%c%c%c"),那
么输入的时候就必须连续输入3个字符,中间不能有任何空格逗号或者回车符等分开,
而如果是scanf("%c,%c,%c"),那么输入3个字符的时候中间就必须用一个逗号分隔。
scanf函数最常用的两种输入方式%d整数输入方式,以及%c字符输入方式。
用%d方式输入整数时,输入一串数字然后按回车符,输入就完成了。而用%c方式输入
字符时,就稍微复杂一点。一般来说用%c输入字符时,当输完以后,都习惯按一下回车,
这时回车符就成了一个问题。
【例1】:
// scanf("%c",&a); /*此时输入一个字符,并按下回车,那么变量a将会正确接收输入的字符*/
// scanf("%c",&b); /*但是变量b将会接收到回车符,其值为10,或者说ASCII码为10*/
# include "stdio.h"
main()
{
char a[20]; /* 字符型数组*/
int i,j,k=0;
rem:
for(i=0;i<20;i++)
{
scanf("%c",&a[i]);
if(a[i]==10) i=20;
}
for(j=0;j<20;j++)
{
if(a[j]=='a') k=1;
}
if(k==1)
for(i=0;i<20;i++)
{
printf("%c",a[i]);
if(a[i]==10) i=20;
}
else {printf("请重输一个 \n"); goto rem;}
fflush(stdin); //清除输入设备缓存数据
getchar();
}
能力值:
( LV2,RANK:10 )
261 楼
//题目:从键盘输入一个小写英文单词,将每个字母换成大写字母后输出
//流程:准备数据及数组,
// 输入小写英文字母到数组元素,检查输入结果,
// 将保存在数组元素中的小写字母变成大写字母,
// 输出每个数组元素。 # include "stdio.h"
main()
{
char a[20]; /* 字符型数组*/
int i;
for(i=0;i<20;i++)
{
scanf("%c",&a[i]);
if(a[i]==10) i=20;
}
for(i=0;i<20;i++)
{
if(a[i]==10) i=20;
a[i]=a[i]-32;
}
for(i=0;i<20;i++)
{
printf("%c",a[i]);
if(a[i]==10) i=20;
}
fflush(stdin); //清除输入设备缓存数据
getchar();
}
能力值:
( LV2,RANK:10 )
262 楼
哈哈,楼主加油啊。。。
能力值:
( LV2,RANK:10 )
263 楼
//题目:从键盘输入一组自然数,将它们从小到大排序后,在屏幕上输出
//流程:准备数据及数组,
// 随意输入自然数到数组元素,检查输入结果,
// 将保存在数组元素中的数排序后再保存到数组中,
// 输出每个数组元素。
# include "stdio.h"
main()
{
int a[20]; /* 字符型数组*/
int i,m,z;
for(i=0;i<5;i++)
{
scanf("%d",&a[i]);
}
//比较排序
for(m=5;m>1;m--) /*去尾*/
{
for(i=0;i<m;i++)
{
if(a[i]>a[i+1]) {z=a[i];a[i]=a[i+1];a[i+1]=z;} /*交换*/
else {} /*不变*/
}
}
//输出排序结果
for(i=0;i<5;i++)
{
printf("%d",a[i]);
}
fflush(stdin); //清除输入设备缓存数据
getchar();
}
能力值:
( LV2,RANK:10 )
264 楼
//题目:将一个二维数组元素行列互换:
// 1 4 1 2 3
// a=[ 2 5 ] b= [ ]
// 3 6 4 5 6
// 准备数组和变量
// 显示数组a的元素阵列
// 按列读取数组a 放入b数组行
// 显示数组b的元素阵列 #include "stdio.h"
main()
{
//准备
int a[3][2]={1,4,2,5,3,6};
int b[2][3]={};
int i,j,m,n;
int c[6];
//显示a数组阵列
for(i=0;i<3;i++)
{
for(j=0;j<2;j++) printf("%5d",a[i][j]);
printf("\n");
}
//按列读取数组a到数组c
m=0;
for(j=0;j<2;j++)
{
for(i=0;i<3;i++)
{
c[m]=a[i][j];m++;
}
}
//显示数组c是否合要求
for(m=0;m<6;m++)printf("%d",c[m]);
printf("\n");
//确定数组b坐标分别存入对应数组c的数据
i=0;
for(m=0;m<2;m++)
for(n=0;n<3;n++) {b[m][n]=c[i];i++;}
//显示b数组结果
for(m=0;m<2;m++)
{
for(n=0;n<3;n++) printf("%5d",b[m][n]);
printf("\n");
}
//屏幕暂停
getchar();
}
能力值:
( LV2,RANK:10 )
265 楼
//题目:1、从键盘输入一个英文单词字符串到字符数组,判断这个单词有几个字符;
// 2、修改前题为从键盘输入一句英文日常用语,判断这句话有几个单词;
// 3、修改前一题,增加字字符串的输出,要求用2种以上的方法输出; # include "stdio.h"
# include "string.h"
main()
{
char string[81]={}; /* 字符型数组*/
int i=0,word=0,num=0;
char c;
printf("请输入一个英文单词\n");
gets(string);
for(i=0;(c=string[i])!='\0';i++)
{
if(c==' ') word=0;
else if(word==0)
{
word=1;num++;
}
}
printf("there are %d words in this line.\n",num);
能力值:
( LV2,RANK:10 )
266 楼
楼主好,我是一个C++的初学者,能不能用发几个c++的源代码啊,谢谢了
能力值:
( LV2,RANK:10 )
267 楼
祝你学习进步!
能力值:
( LV2,RANK:10 )
268 楼
//杨辉三角
#include<stdio.h>
#include<math.h>
main()
{
int a[10][10];
int i,j;
for(i=0;i<=9;i++)
{
a[i][0]=1;
for(j=0;j<=i;j++)
{
if(j>=1&&j<=i-1)
a[i][j]=a[i-1][j-1]+a[i-1][j];
a[i][i]=1;
printf("%5d",a[i][j]);
}
printf("\n");
}
getchar();
}
能力值:
( LV2,RANK:10 )
269 楼
//P168—4 有一个已排好序的数组,要求输入一个数后,按照原来的规律将它插入数组中云。
//算法:
//1、准备数据排列好后依次放入数组A[]中。
//2、输入需要插入的数到变量M中
//3、判断原有数的排序方式:从小到大还是从大到小
//4、将M与数组A[]中的元素依次比较,并记录M的前一数与后一数
//5、依序插入M到A[]中,后面的元素向后移一位。
//6、输出新的排列结果。 # include "stdio.h"
main()
{
int A[10]={1,2,3,5,7,9},M;
int i,j,k;
scanf("%d",&M);
if(A[0]>A[1]) k=1;
else k=0;
printf("%d",k);
if(k==0) { for(i=0;i<10;i++) {if(M<A[i]) j=i,i=10;} }
else { for(i=0;i<10;i++) {if(M>A[i]) j=i,i=10;} }
printf("\n%d",j);
for(i=9;i>j;i--)
{
A[i]=A[i-1];
}
A[j]=M;
for(i=0;i<10;i++) printf("\n%d",A[i]);
fflush(stdin);
getchar();
}
能力值:
( LV2,RANK:10 )
270 楼
太感谢了!!!!!!!!!!
能力值:
( LV2,RANK:10 )
271 楼
#include "stdio.h"
int i=1;
int main()
{
void hanoi(int n,char one,char two, char three);
int m;
printf("input the number of diskes:");
scanf("%d",&m);
printf("The step to move %d diskes:\n",m);
hanoi(m,'A','B','C');
fflush(stdin);
getchar();
}
void hanoi(int n,char one,char two,char three)
{
void move(char x,char y);
if(n==1)
move(one,three);
else
{
hanoi(n-1,one,three,two);
move(one,three);
hanoi(n-1,two,one,three);
}
}
void move(char x,char y)
{
printf("%d %c-->%c\n",i,x,y);i++;
}
能力值:
( LV2,RANK:10 )
272 楼
多多学习。
能力值:
( LV2,RANK:10 )
273 楼
//写一个在主函数输入十六进制数,调用子函数转换成十进制数后,返回主函数输出。
#include "stdio.h"
#include "math.h"
main()
{
int six_ten(int x);
int x;
int s=0;
printf("请输入一个十六进制数:\n");
scanf("%x",&x);
s=six_ten(x);
printf("十六进制数:%x转化为十进制数为:%d",x,s);
fflush(stdin);
getchar();
}
//十六进制化十进制子函数
int six_ten(int x)
{
int s=0,i; /* s为权位法求和的总和 */
int n[9]={}; /* 从元素n[0]向n[9]存放想当于十进制的个位 十位 百位... */
for(i=0;i<9;i++) /* 分别半从键盘输入的十六进制各位数值放入数组元素 */
{
n[i]=int(x/pow(16,double(i)))%16; /* 计算式,注意函数的数据类型 */
printf("%d\n",n[i]); /* 用于检测各位数值是否正确 */
}
for(i=0;i<9;i++) /* 权位法求和 */
s=s+n[i]*pow(16,double(i));
return(s);
}
能力值:
( LV2,RANK:10 )
274 楼
例题中,请注意加红的语句。通常情况下,if应与下两句交换一下位置,为什么现在这样也是正常运行???
#include "stdio.h"
int main()
{
int * p1, * p2, * p ,a,b;
printf("please enter two integer numbers:");
scanf("%d,%d",&a,&b);
if(a<b)
p1=&a;
p2=&b;
{p=p1;p1=p2;p2=p;}
printf("a=%d,b=%d\n",a,b);
printf("max=%d,mix=%d\n",*p1,*p2);
fflush(stdin);
getchar();
}
能力值:
( LV2,RANK:10 )
275 楼
现在在看汇编呢,学完后看c。