
c语言学习之每日一题
qinnt
学习使我快乐?
展开
-
C语言-文件存储
从键盘输入一个字符串,将小写字符串转换成大写字符串,然后输入到磁盘文件中保存,输入的字符以“!”结束。int main(){ FILE *fp; char s[80]; int i=0; while((s[i]=getchar())!='!'){ if(s[i]>='a'&&s[i]<='z'){ s[i] -= 32; } i++; } // 打开的文件以原创 2021-12-20 19:04:19 · 2692 阅读 · 0 评论 -
输入一个数查找比它小的元素
/*一个整型数组有10元素,请先给这10个元素赋值,然后随便输入一个数,最后输出数组中比这个数小的所有元素,每个数用空格隔开,如果没有找到,则输出not find。*/int main(){ int a[10], i, n; int isfind = 0; printf("please set array values:"); for (i = 0; i < 10; i++) scanf("%d", &a[i]); printf原创 2021-12-12 19:22:56 · 541 阅读 · 0 评论 -
C语言:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。int main() { int max, min, temp; int max_index = 0, min_index = 0; int arr[10] = { 5,2,3,4,5,6,7,8,9,6 }; max = arr[0]; min = arr[0]; for (int i = 1;i < 10;i++) { if (max < arr[i]) { max = arr[i];原创 2021-11-29 17:22:56 · 8457 阅读 · 0 评论 -
C语言:输入某年某月某日,判断这一天是这一年的第几天?(含结构体)
题目:输入某年某月某日,判断这一天是这一年的第几天?分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需多加一天。普通方法:int main() { int year, month, day; printf("请输入年.月.日:"); scanf("%d.%d.%d", &year, &month, &day); switch (month) { case 1:break; // 1月输入第几号,就是本原创 2021-11-23 16:50:14 · 49576 阅读 · 5 评论 -
C语言:冒泡排序与猴子吃桃问题
用冒泡排序法对任意输入的 10 个数按照从小到大的顺序进行排序。#include <stdio.h>#include <math.h>int main() { int arr[10],temp=0; for (int i = 0;i < 10;i++) { arr[i] = rand() % 20+1;// 随机存入1到20之间的一个数 } printf("初始数列:\n"); for (int i = 0;i < 10;i++) { printf原创 2021-11-21 16:55:30 · 136 阅读 · 0 评论 -
C语言----从键盘输入一个正整数x,输出它的各位数之和
一、从键盘输入一个正整数x,输出它的各位数之和int main() { int num, sum = 0; scanf("%d", &num); while (num) { sum += num % 10; num /= 10; } printf("%d\n", sum); return 0;}二、将一个数组的行和列的元素互换(即矩阵转置),存到另一个数组中int main() { int a[2][3] = { 1,2,3,4,5,6 }, b[3][2]; fo原创 2021-11-19 19:05:21 · 9834 阅读 · 0 评论 -
C语言练习题
C语言之用选择法对10个整数排序int main() { int arr[10], temp; for (int i = 0;i < 10;i++) { scanf("%d", &arr[i]); } printf("\n初始顺序:"); for (int i = 0;i < 10;i++) { printf("%5d", arr[i]); } printf("\n排序顺序:"); for (int i = 0;i < 9;i++) { for (in原创 2021-11-17 23:09:29 · 604 阅读 · 0 评论 -
输入一个任意整数(正,负,0都可以),从高位到个位逐个输出每一位数字(正序输出),并统计其位数。
题目:输入一个任意整数(正,负,0都可以),从高位到个位逐个输出每一位数字(正序输出),并统计其位数。#include<stdio.h>#include<math.h>int main(){ int num,*p,total=0; scanf("%d",&num); *p=1;//初始指针为1,若输入“0”,即为一位 num=abs(num);//取绝对值 while(num){ *p=num%10;//逆序将每一原创 2021-11-16 18:59:55 · 2211 阅读 · 1 评论 -
C语言:输出杨辉三角
C语言学习记录之输出杨辉三角形#include <stdio.h>#define N 10 //输出前十行int main() { int arr[N][N]; for (int i = 0;i < 10;i++) { arr[i][0] = 1; // 首先给每行第一个和最后一个赋值1 arr[i][i] = 1; } // 从第三行起,除了每行的1以外,其他数为上一行本列的数加上上一原创 2021-10-03 22:27:30 · 5669 阅读 · 0 评论 -
C语言:将一个数组中的值按逆序存放
C语言学习记录:/* 例如初始顺序:18,11,9,6,4,3,2,1;改为:1,2,3,4,6,9,11,18 思路:以中间元素为中心,将其两侧对称的元素的值互换*/ #include <stdio.h>#define size 8int main() { int arr[size] = { 18,11,9,6,4,3,2,1 }; // 数组长度size=8 for (int i = 0;i < size/2;i++) { in原创 2021-09-29 22:56:55 · 6344 阅读 · 0 评论 -
C语言:向一个已排序好的数组中插入一个数重新进行排序
C语言学习记录之向一个已排序好的数组中插入一个数重新进行排序int main() { int arr[11] = { 1,3,5,7,9,11,13,15,17,19 };// 例如数组现存在10个数 int num; scanf("%d", &num); printf("初始序列:"); for (int i = 0;i < 10;i++) { printf("%5d", arr[i]); } printf("\n原创 2021-09-25 23:10:26 · 7401 阅读 · 4 评论 -
C语言之水仙花数
C语言学习记录之------求水仙花数,一个三位数,其各位数字立方和等于该数本身。int main() { int num = 100, a, b, c, count=0; for (num;num <= 999;num++) { a = num / 100; //百位数 b = (num % 100) / 10; // 十位数 c = num % 10; // 个位数 if (num == pow(a, 3) + pow(b, 3) + pow(c, 3)) { p原创 2021-09-22 22:53:44 · 135 阅读 · 0 评论 -
求一个3*3整型矩阵对角线元素的和
C语言学习记录之------求一个3*3整型矩阵对角线元素的和int main() { int arr[3][3], total = 0; // 输入矩阵元素 for (int i = 0;i < 3;i++) { for (int j = 0;j < 3;j++) { scanf("%d", &arr[i][j]); } printf("\n"); } // 计算求和原创 2021-09-21 22:53:06 · 2639 阅读 · 3 评论 -
C语言之求素数
C语言学习记录之-----用筛选法求100之内的素数,将数组中非素数置为0int main() { int arr[100], count = 0; for (int i = 0;i < 100;i++) { arr[i] = i + 1; } arr[0] = 0; // a[0]=1首先排除1 for (int i = 1;i < sqrt(100);i++) { for (int j = i + 1;j < 100;j++) { if (arr[i] !=原创 2021-09-20 22:59:49 · 602 阅读 · 0 评论 -
C语言:两个乒乓球队进性比赛题
c语言学习记录——两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。 a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单int main() { int i, j, k;// a的对手是i,b的对手是j,c的对手是k; for (i = 'x'; i <= 'z';i++) { for (j = 'x'; j <= 'z';j++) { if (i != j) { for (k = 'x'原创 2021-09-19 22:44:20 · 562 阅读 · 1 评论 -
C语言:二分法求方程根
C语言学习记录之二分法求方程根#include <stdio.h>#include <math.h>int main() { double x0, x1, x2, f0, f1, f2; do { printf("请输入两个点:"); scanf("%lf,%lf", &x1, &x2); f1 = ((2 * x1 - 4) * x1 + 3) * x1 - 6; f2 = ((2 * x2 - 4) * x2 + 3) * x2 - 6;原创 2021-09-17 23:07:25 · 15847 阅读 · 4 评论