// 一元二次方程求解 // 重复执行, 直到按Ctrl+D或Ctrl+E结束 // #include <math.h> #include <stdio.h> #include <stdlib.h> int main() { float a, b, c, x1, x2; float delta, real, imag; printf("Enter a, b, c: "); while(scanf("%f%f%f", &a, &b, &c)) { if(a == 0) printf("not quadratic equation.\n"); else { delta = b*b - 4*a*c; if(delta >= 0) { x1 = (-b + sqrt(delta)) / (2*a); x2 = (-b - sqrt(delta)) / (2*a); printf("x1 = %f, x2 = %f\n", x1, x2); } else { real = -b/(2*a); imag = sqrt(-delta) / (2*a); printf("x1 = %f + %fi, x2 = %f - %fi\n", real, imag, real, imag); } } printf("Enter a,. b, c:\n"); } system("pause"); return 0;
// 程序运行时自动生成1~100之间的随机数,提示用户猜 // 如果用户猜的数等于随机数,提示用户猜对了,程序结束 // 否则,如果用户猜的数小于随机数,提示用户低了,用户继续猜 // 如果用户猜的数大于随机数,提示用户高了,用户继续猜 // 程序循环运行直到用户猜对为止 #include <stdio.h> #include <stdlib.h> #include <time.h> int main() { int guessNumber; // 存放程序运行时生成的1~100之间的随机整数 int ans; // 存放用户猜的数字 srand((time(0))); // 以时间函数作为随机种子 guessNumber = 1 + rand()%100; // 生成1~100之间的随机数 do { printf("your guess number is(1~100): "); scanf("%d", &ans); if(ans < guessNumber) printf("%d is lower than the number.\n", ans); else if(ans > guessNumber) printf("%d higher then the number.\n", ans); }while(ans != guessNumber); printf("Congratulations. you hit it~\n"); system("pause"); // 在devc中运行时,这一行可以去掉 return 0; }
/* 编程找出5个整数的最大数和最小数 《C语言程序设计教程学习指导》p122实验内容(3) */ #include <stdio.h> #include <stdlib.h> int main() { int number, max, min, n; n=1; printf("输入第%d个数: ", n); scanf("%d", &number); max = number; min = number; while(n<=4) { n++; printf("输入第%d个数: ", n); scanf("%d", &number); if(number>max) max = number; else if(number<min) min = number; } printf("最大数为: %d\n", max); printf("最小数为: %d\n", min); system("pause"); return 0; }
#include<stdio.h> #include<math.h> int isPrime(int n); int main(){ int i,n=0; for(i=101;i<=200;i++) if(isPrime(i)){ n++; printf("%5d",i); if(n%5==0) printf("\n"); } printf("\n101-200之间共有%d个素数",n); } int isPrime(int j) { int k; for(k=2;k<=sqrt(j);k++) if(j%k==0) return 0; return 1; }
#include<stdio.h> int main() { long int s; long int t=0,n; printf("Enter a number:"); scanf("%ld",&s); while(s!=0) { if(s%2==1) { n=s%10; t=t*10+n; s=s/10; } else s=s/10; } int a,b=0; while(t!=0) { a=t%10; b=b*10+a; t=t/10; } printf("New number is:%ld",b); return 0; }
实验结论:
1.对于循环语句的选用很纠结while还是for,并且编写时会向很复杂的方向编写,经过别人指教才稍微好一点
2.实验中总是忘记加分号,需要程序不断纠错
3.如何实现每五个换行?(舍友教的)
原文:https://www.cnblogs.com/ymj-1314/p/11894567.html