个人水平有限,代码仅供参考,如有错误请多多谅解!!!!!
个人水平有限,代码仅供参考,如有错误请多多谅解!!!!!
个人水平有限,代码仅供参考,如有错误请多多谅解!!!!!
1.从键盘输入一个小写字母,转化为一个大写字母
# include <stdio.h>
int main(){
char a;
scanf("%c",&a);
printf("%c",a-32);// 大写字母与小写字母差32
}
2.从键盘输入两个整数,输出最小值
# include <stdio.h>
int main(){
int a,b,max;
scanf("%d,%d",&a,&b);
max=a>b?a:b;
printf("%d",max);
}
3.对于给定的整数N 计算s=1!+2!+...N!.
# include <stdio.h>
int main(){
int n,s,p,i;
scanf("%d",&n);
p=1;
s=0;
for (i=1;i<=n;i++){
p=p*i;// i的阶层
s+=p;//总和
}
printf("%d",s);
}
4. 从输入的整数数据中统计大于0的个数和小于0的个数,用输入0来结束输入,用i统计大于0的个数,j 小于0的个数
# include <stdio.h>
main(){
int i,j,num;
i=0;j=0;
scanf("%d",&num);
while(num!=0){
if (num >0)i++;
else{
j++;
}
scanf("%d",&num);
}
printf("大于0的有%d个,小于0的有%d个",i,j);
}
5.
# include <stdio.h>
#include <math.h>
main(){
float a,b,c,t,x1,x2;
scanf("%f,%f,%f",&a,&b,&c);
t=b*b-4*a*c;
if (a==0)
printf("不是二次方程");
else if(t>0){
x1=(-b+sqrt(t))/(2*a);
//求解两个实根
x2=(-b-sqrt(t))/(2*a);
printf("有两个不相等的实根%f,%f",x1,x2);
}
else if (t==0){
printf("有两个相同的根:%8.4f\n",-b/(2*a));}
else {
printf("有共轭负根");
}
}
6.某学校需要搬运图书,男教师一人3个,女教师一人2个,学生两人一个,问45人正好搬45箱有多少种搬法(每人至少一箱).
# include <stdio.h>
main(){
int men ,women,stu;
for (men=0;men<=45;men++){
for (women=0;women<=45;women++){
for (stu=0;stu<=45;stu++){
if ((men+women+stu==45) && (men*3+women*2+stu*0.5==45)&&(men*women*stu !=0))
printf("men=%d women=%d stu=%d\n", men, women, stu);
}
}
}
}
7.求1~100中九出现的次数
# include <stdio.h>
int main(){
int s,i;//s:次数
s=0;
for (i=1;i<=100;i++){
//个位数是 9
if (i%10==9){
s++;
continue;// 加 continue 99 算一次
// 不加 continue 99 算两次
}
//十位是 9
if(i/10==9)s++;
}
printf("%d",s);
}
8.一个球从100m的高处自由落下,每次着地后又跳回到原高度的一半在落下,编写程序,求当它第10次着地时反弹多高?全程共经过多少米?
# include <stdio.h>
int main(){
float s=100,h=s/2;
//第一次已掉落100m
for (int i=2;i<=10;i++){
s=s+2*h;
h/=2;
}
printf("第10次落地时共经过%lf米\n",s);
printf("第10次落地时反弹%lf米\n", h);
}
9 .
#include <stdio.h>
main(){
int num,temp,sum;
int arr[500]={0};//小于13的默认等与0
int s=0;//一个有几个数
scanf("%d",&num);
//找出符合的数
for (int i=1;i<=num;i++){
if (i%13==0||i%17==0){
printf("hhh");
arr[s]=i;
s++;
}
}
// printf("%d\n",s);
//冒泡排序 从大到小排
sum=0;
if (s>10){
for (int i=0;i<s-1;i++){
for (int j=0;j<s-i-1;j++){
if (arr[j]<arr[j+1]){
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
for (int i=0;i<10;i++){
sum+=arr[i];
}
}else{
for (int i=0;i<=s;i++){
sum+=arr[i];
}
}
printf("%d",sum);
}
# include<stdio.h>
int main(){
int k,s=0,n=0;
scanf("%d",&k);
while(n<10){
if(k%13==0 || k%17 ==0){
s+=k;
n++;
}
k--;
if(k<13)break;
}
printf("%d",s);
}
10.国王的奖赏
#include <stdio.h>
main(){
float num;//一共有几吨粮食
float t=0.1; // t:可以得到的粮食的数量 0.1:第一个格放的粮食
int p=1;
int i;
scanf("%f",&num);
//从第二个格开始
for (i=2;num>0;i++){
p=p*2;
t+=p*0.1;
num-=t/1000000;
}
printf("%d",i);
}