风存不在 - 2006-3-15 8:36:00
谁能告诉我1、输入整数a和b,如果a 能被b整除,就输出算式和商,否则输出算式、整数商和余数。
例如:若a的值为5,b的值为2,则输出5/2=2,5%2=1;
若a的值为4,b的值为2,则输出4/2=2
2、输入两个字符,若这两个字符之差为偶数,则输出它们的后继字符,否则输出它们的前趋字符。这里的前趋和后继是指输入的两个字符中,较小字符前面的和较大字符后面的那个字符。
例如:’g’的前趋字符是’f’, ’g’的后继字符是’h’
3、从键盘输入两个整数a和b, 若2*a+2*b大于100,则先输出2*a+2*b百位以上(包括百位数字)的数字,然后输出百位以下的数字;否则输出两数之和.
怎么做啊 急需
lightju - 2006-3-15 18:27:00
你的问题并不难,但是要费时间好好想想啊
1.其实就是循环除,记得当数字为int型时,如果不够除,商就是零,用这个做条件进行循环除就可以了。
2.这个更简单啊,就用if条件判断就可以了,做减法的话可以使用强制类型转换,不过提醒你转换short,因为一般计算机中,char是8位,short也是8位。
3.这个也简单,关键在于如何取得百位数,其实只要分情况判断,100-100只要把原来的数除以100就可以了,10000-100就除以1000后再除以100,依此类推。
或者把数字转化为字符数组,c++里有库函数可用,c里没有,不过只要翻翻c++的include文件,找到源码,复制一个放c里就行了。
灵仕 - 2006-3-17 1:21:00
第一题
#include<stdio.h>
void main()
{
int a;
int b;
int k;
int flag;
char ch;
while (flag!=1)
{
flag=0;
printf("请输入数a: ");
scanf("%d",&a);
printf("请输入数b: ");
scanf("%d",&b);
while (b==0)
{
printf("除数不能为零!\n");
printf("请输入数b: ");
scanf("%d",&b);
}
if (a%b==0)
{
printf("%d/%d=%d\n",a,b,a/b);
}
else
{
printf("%d/%d=%d %d%%%d=%d\n",a,b,a/b,a,b,a%b);
}
printf("\n继续输入吗?(y/n): ");
scanf("\n%c",&ch);
if(ch=='y' || ch=='Y')
{
flag=0;
}
else
{
if(ch=='n' || ch=='N')
{
flag=1;
}
else
{
while (k!=1)
{ k=0;
printf("只能输入y,Y,n,N ");
printf("继续输入吗?(y/n): ");
scanf("\n%c",&ch);
if (ch=='y' || ch=='Y')
{
k=1;
}
else
{
if (ch=='n' ||ch=='N')
{
k=1;
flag=1;
}
}
}
}
}
}
}
© 2000 - 2026 Rising Corp. Ltd.