编写一个根据用户键入的两个操作数和一个双目运算符,由计算机输出结果的程序。
#include
int operate(int a,int b,char c){
switch(c){
case '+': return a+b;
case '-': return a-b;
case '*': return a*b;
case '/': return a/b;
case '%': return a%b;
default:
printf("输入错误!\n");
return 0;
}
}
int main() {
int a,b;
char c;
scanf("%d %c %d",&a,&c,&b);
printf("%d %c %d = %d",a,c,b,operate(a,b,c));
return 0;
}
已知文件 Coefficient.txt 中存有多个方程 ax2 + bx + c = 0 中系数 a, b, c 的值,数据按行排列,编写程序求出方程的解,并将结果写入到 result.txt 文件中,要求考虑 a, b, c 各种取值情况。
Coefficient.txt 内容举例:
5 25 3
0 2 6
0 0 0
1 1 8
......
#include
#include
int main() {
FILE *fp1,*fp2;
if((fp1=fopen("Coefficient.txt","r"))==NULL){
printf("不能打开Coefficient.txt文件\n");
}
if((fp2=fopen("result.txt","w"))==NULL){
printf("不能打开result.txt文件\n");
}
double a,b,c,delta;
double x1,x2;
while(fscanf(fp1,"%lf %lf %lf",&a,&b,&c)!=EOF){
if(a!=0){
delta = b*b-4*a*c;
if(delta<0){
fprintf(fp2,"结果不存在\n");
}
else{
x1=(-b+sqrt(delta))/(2*a);
x2=(-b-sqrt(delta))/(2*a);
fprintf(fp2,"x1=%.2lf,x2=%.2lf\n",x1,x2);
}
}
else{
if(b!=0){
fprintf(fp2,"x=%.2lf\n",-c/b);
}
else{
if(c==0){
fprintf(fp2,"任意解\n");
}
else{
fprintf(fp2,"无解\n");
}
}
}
}
if(fclose(fp1)!= 0) printf("关闭Cofficient.txt文件错误\n");
if(fclose(fp2)!= 0) printf("关闭result.txt文件错误\n");
return 0;
}
打印出所有的 “水仙花数”,所谓 “水仙花数” 是指一个 3位数,其各位数字立方和等于该数本身。例如,153是一水仙花数,因为 153 = 13 + 53 + 33。
#include
#include
int main() {
int a, b, c;//a,b,c对应个位,十位,百位
for (int i = 100; i <= 999; i++) {
a = i % 10;
b = i / 10 % 10;
c = i / 100;
if (pow(a, 3) + pow(b, 3) + pow(c, 3) == i) {
printf("%d\n", i);
}
}
return 0;
}
未完待续