求方程式 ax^2+bx+c=0 的根。有兩個不等的實根,有兩個相等的實根
#include<stdio.h>
#include<math.h>
int main(){
int a,b,c;
printf("請輸入a,b,c:");
scanf("%d,%d,%d",&a,&b,&c);
float m,n;
int d = b*b-(4*a*c);
if(d > 0){
m = ((-1)*b+sqrt(d))/(2*a);
n = ((-1)*b-sqrt(d))/(2*a);
printf("有兩個不相等的實根m=%f,n=%f",m,n);
}else if(d == 0){
m = (-1)*b/(2*a);
n = (-1)*b/(2*a);
printf("有兩個相等的實數根m=%f,n=%f",m,n);
}else{
printf("沒有實數根!");
}
return 0;
}
輸出1900-2000年中是閏年的年份,能被4整除但不能被100整除,能被400整除
#include<stdio.h>
int main(){
int year;
for(year = 1900;year <= 2000;year++){
if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
printf("%d是閏年\n",year);
else
printf("%d不是閏年\n",year);
}
return 0;
}
求兩個數m和n的最大公約數
#include<stdio.h>
int main(){
int m,n,r;
printf("請輸入兩個數:");
scanf("%d,%d",&m,&n);
while(n != 0){
r = m % n;
m = n;
n = r;
}
printf("這兩個數的最大公約數為:%d\n",m);
return 0;
}
輸入10個數,輸出其中最大的一個數
#include<stdio.h>
int main(){
int n[10];
int i;
int max = n[0];
printf("請輸入10個數:");
for(int i = 0;i <= 10;++i)
scanf("%d",&n[i]);
for(int i = 0;i <= 10;++i)
max = n[i] > max ? n[i] : max;
printf("max = %d\n",max);
return 0;
}
uj5u.com熱心網友回復:
if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
這句改一下:
if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
邏輯更清晰一些~
#include<stdio.h>
int main(){
int n[10];
//int i;
//int max = n[0]; //隨機值,可能max也放不下的隨機值
int max;
printf("請輸入10個數:");
for(int i = 0;i <= 10;++i)
scanf("%d",&n[i]);
max = n[0]; //在這初始化
for(int i = 0;i <= 10;++i)
max = n[i] > max ? n[i] : max;
printf("max = %d\n",max);
return 0;
}
供參考
max初始化有問題,可能導致程式結果例外;
uj5u.com熱心網友回復:
for()里對陣列下標操作越界,應改為:for(int i=0; i<10 ;i++)
uj5u.com熱心網友回復:
好的,謝謝
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/283850.html
標籤:C語言
下一篇:新手求助
