
C语言程序
技术小咖龙
向前跑,不惧冷眼和嘲笑
展开
-
C语言编程之取某整数的位数
问题描述:取一个输入整数a从右端开始的4~7位。问题分析:(1)先使a右移4位。(2)设置一个低4位全为1,其余全为0的数。可用~(~0<<4)(3)将上面二者进行&运算。C程序源码:#include<stdio.h>int main(){unsigned a,b,c,d;scanf("%o",&a);b=a>>4...原创 2019-03-06 19:33:45 · 4596 阅读 · 0 评论 -
C语言编程按规律将某数插入数组中
问题描述:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。问题分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置。程序源码:#include<stdio.h>void main(){int a[11]={1,4,6,9,13,16,19,28,40,100};int temp1,temp...原创 2019-03-04 17:18:11 · 1100 阅读 · 0 评论 -
C语言编程将某数组进行逆序输出
问题描述:将一个数组逆序输出。问题分析:利用交换的思想,把第一个与最后一个交换,以此类推。程序源码:#include<stdio.h>#define N 5void main(){ int a[N]={9,6,5,4,1},i,temp; printf("\n original array:\n"); for(i=0;i<N;i++) printf("%...原创 2019-03-04 17:20:48 · 14857 阅读 · 3 评论 -
C语言编程之多人围圈报数问题
问题描述:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。问题分析:for循环与while联合使用,效果显著。程序源码:#include<stdio.h>#define nmax 50void main(){int i,k,m,n,num[nmax],*p;printf("please inp...原创 2019-03-10 15:18:02 · 3649 阅读 · 0 评论 -
C语言编程之求字符串长度
问题描述:请使用C语言编写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。程序源码:#include<stdio.h>int main(){int len;char *str[20];printf("please input a string:\n");scanf("%s",str);len=length(str);printf("th...原创 2019-03-10 15:20:32 · 3996 阅读 · 0 评论 -
C语言编程之数据记录
问题描述:编写input()和output()函数输入,输出5个学生的数据记录。程序源码:#include<stdio.h>#define N 5struct student{ char num[6]; char name[8]; int score[4];} stu[N];input(stu)struct student stu[];{ int i,j;...原创 2019-03-10 15:22:35 · 1477 阅读 · 0 评论 -
C语言编程之创建链表
问题描述:请使用C语言创建一个链表。问题分析:链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 相比于线性表顺序结构,操作复杂。由于不必须按顺序存储,链表在插入的时候可以达到O...转载 2019-03-10 15:26:35 · 654 阅读 · 0 评论 -
C语言编程之反向输出一个链表
问题描述:请使用C语言编程实现反向输出一个链表。问题分析:线性表的链式存储表示的特点是用一组任意的存储单元存储线性表的数据元素(这组存储单元可以是连续的,也可以是不连续的)。因此,为了表示每个数据元素与其直接后继数据元素 之间的逻辑关系,对数据元素 来说,除了存储其本身的信息之外,还需存储一个指示其直接后继的信息(即直接后继的存储位置)。由这两部分信息组成一个"结点"(如概述旁的图所示),...原创 2019-03-10 15:30:14 · 4370 阅读 · 0 评论 -
C语言编程之两个链表的连接
问题描述:请使用C语言编程实现对两个链表的连接。程序源码:#include "stdlib.h"#include "stdio.h"struct list{ int data;struct list *next;};typedef struct list node;typedef node *link;link delete_node(link pointer,link ...原创 2019-03-10 15:31:54 · 2790 阅读 · 0 评论 -
C语言编程求3*3矩阵对角线元素之和
问题描述:求一个3*3矩阵对角线元素之和。问题分析:利用双重for循环控制输入二维数组,再将a[i][i]累加后输出。程序源码:#include<stdio.h>void main(){float a[3][3],sum=0;int i,j;printf("please input rectangle element:\n");for(i=0;i<3;i...原创 2019-03-04 17:15:48 · 9111 阅读 · 1 评论 -
C语言编程对10个数进行排序
问题描述:对键盘输入的10个数进行排序。问题分析:可以利用选择法,即从后9个比较过程中,选择一个最小的与第一个元素交换,下次类推,即用第二个元素与后8个进行比较,并进行交换。程序源码:#include<stdio.h>#define N 10void main(){int i,j,min,tem,a[N];/*input data*/printf("please...原创 2019-03-04 17:13:53 · 9789 阅读 · 0 评论 -
C语言编程求100之内的素数
问题描述:求100之内的素数。问题分析:利用多个for循环控制流程。程序源码:#include <stdio.h>#include "math.h"#define N 101void main(){int i,j,line,a[N];for(i=2;i<N;i++) a[i]=i;for(i=2;i<sqrt(N);i++) for(j=i+1...原创 2019-03-04 17:11:17 · 6104 阅读 · 1 评论 -
C语言编程之学习使用按位取反~
问题描述:学习使用按位取反~。问题分析:~0=1; ~1=0。程序源码:#include<stdio.h>void main(){int a,b;a=234;b=~a;printf("\40: The a's 1 complement(decimal) is %d \n",b);a=~a;printf("\40: The a's 1 complement(...原创 2019-03-06 19:35:35 · 2220 阅读 · 0 评论 -
C语言编程之用circle画圆形
问题描述:学用circle画圆形。程序源码:#include<graphics.h>void main(){int driver,mode,i;float j=1,k=1;driver=VGA;mode=VGAHI;initgraph(&driver,&mode,"");setbkcolor(YELLOW);for(i=0;i<=25;i+...原创 2019-03-06 19:37:37 · 11049 阅读 · 4 评论 -
C语言编程之用line画直线
问题描述:学习使用line画直线。程序源码:#include<graphics.h>void main(){int driver,mode,i;float x0,y0,y1,x1;float j=12,k;driver=VGA;mode=VGAHI;initgraph(&driver,&mode,"");setbkcolor(GREEN);x0...原创 2019-03-06 19:40:24 · 6701 阅读 · 1 评论 -
C语言编程之数组顺序向后移位
问题描述:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数。程序源码:#include<stdio.h>void main(){int number[20],n,m,i;printf("the total numbers is:");scanf("%d",&n);printf("back m:");scanf("%d",&原创 2019-03-09 20:34:30 · 8873 阅读 · 0 评论 -
C语言编程判断输入的英文字母是星期几
问题描述:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。问题分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母。程序源码:#include<stdio.h>void main(){char letter;printf("please input the first letter of som...原创 2019-03-04 17:02:47 · 2814 阅读 · 0 评论 -
C语言编程设置文本背景颜色
问题描述:按任意键可以改变其颜色。问题分析:利用for循环来控制。程序源码:#include <conio.h>void main(void){int color;for (color = 0; color < 8; color++) { textbackground(color);/*设置文本的背景颜色*/ cprintf("This is col...原创 2019-03-04 17:06:17 · 2996 阅读 · 2 评论 -
C语言编程学习gotoxy()与clrscr()函数
问题描述:学习gotoxy()与clrscr()函数。程序源码:#include <conio.h>void main(void){clrscr();/*清屏函数*/textbackground(2);gotoxy(1, 5);/*定位函数*/cprintf("Output at row 5 column 1\n");textbackground(3);got...原创 2019-03-04 17:07:26 · 2289 阅读 · 0 评论 -
C语言编程练习函数调用
问题描述:练习函数调用。程序源码:#include <stdio.h>void hello_world(void){printf("Hello, world!\n");}void three_hellos(void){int counter;for (counter = 1; counter <= 3; counter++)hello_world();...原创 2019-03-04 17:08:36 · 1476 阅读 · 0 评论 -
C语言编程之读取整数值并打印出个数
问题描述:读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*。程序源码:#include<stdio.h>void main(){int i,a,n=1;while(n<=7){ do { scanf("%d",&a); }while(a<1||a>50);for(i=1;i<=a;i++) print...原创 2019-03-15 10:31:39 · 1224 阅读 · 0 评论 -
C语言编程之数据加密
问题描述:某公司采用内部公用电话来传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。程序源码:#include<stdio.h>void main(){int a,i,aa[4],t;scanf("%d",&a);aa[0]=a%10;aa[1]...原创 2019-03-15 10:33:42 · 5425 阅读 · 0 评论 -
C语言编程之宏定义循环读结果
问题描述:借助于宏定义来读for循环输出结果。程序源码:#include "stdio.h"#define M 5void main(){int a[M]={1,2,3,4,5};int i,j,t;i=0;j=M-1;while(i {t=*(a+i);*(a+i)=*(a+j);*(a+j)=t;i++;j--;}for(i=0;i printf("%d",*(...原创 2019-03-15 10:36:00 · 1166 阅读 · 1 评论 -
C语言编程之求0—7能组成的奇数个数
问题描述:使用C语言编程实现求0—7所能组成的奇数个数。程序源码:#include<stdio.h>void main(){long sum=4,s=4;int j;for(j=2;j<=8;j++)/*j is place of number*/{ printf("\n%ld",sum);if(j<=2)s*=7;elses*=8;sum+...原创 2019-03-12 09:06:36 · 2341 阅读 · 0 评论 -
C语言编程之偶数分解为两个素数之和
问题描述:偶数总能表示为两个素数之和,使用C语言编程实现。程序源码:#include "stdio.h"#include "math.h"void main(){ int a,b,c,d;scanf("%d",&a);for(b=3;b<=a/2;b+=2){ for(c=2;c<=sqrt(b);c++)if(b%c==0) break;if(c&...原创 2019-03-12 09:08:19 · 13811 阅读 · 4 评论 -
C语言编程之判断一个素数能被几个9整除
问题描述:使用C语言编程判断一个素数能被几个9整除。程序源码:#include<stdio.h>void main(){ long int m9=9,sum=9;int zi,n1=1,c9=1;scanf("%d",&zi);while(n1!=0){ if(!(sum%zi))n1=0;else{m9=m9*10;sum=sum+m9;c9+...原创 2019-03-12 09:09:54 · 1484 阅读 · 1 评论 -
C语言编程之两个字符串的连接
问题描述:使用C语言编程实现两个字符串的连接。程序源码:#include "stdio.h"void main(){char a[]="acegikm";char b[]="bdfhjlnpq";char c[80],*p;int i=0,j=0,k=0;while(a[i]!='\0'&&b[j]!='\0'){if (a[i] { c[k]=a[i];...原创 2019-03-12 09:11:15 · 3634 阅读 · 0 评论 -
C语言编程之时间函数举例3
问题描述:这是一个猜数游戏,判断一个人反应快慢。程序源码:#include "time.h"#include "stdlib.h"#include "stdio.h"void main(){char c;clock_t start,end;time_t a,b;double var;int i,guess;srand(time(NULL));printf("do yo...原创 2019-03-19 09:22:40 · 347 阅读 · 0 评论 -
C语言编程之家庭财务管理小程序
问题描述:使用C语言编程实现家庭财务管理小程序的设计。程序源码:#include "stdio.h"#include "dos.h"void main(){FILE *fp;struct date d;float sum,chm=0.0;int len,i,j=0;int c;char ch[4]="",ch1[16]="",chtime[12]="",chshop[1...原创 2019-03-19 09:24:20 · 2956 阅读 · 1 评论 -
C语言编程之键盘输入字符送到磁盘
问题描述:从键盘输入一些字符,逐个把它们送到磁盘上去,直到输入一个#为止。程序源码:#include "stdio.h"void main(){ FILE *fp;char ch,filename[10];scanf("%s",filename);if((fp=fopen(filename,"w"))==NULL){printf("cannot open file\n");...原创 2019-03-19 09:26:23 · 556 阅读 · 0 评论 -
C语言编程之字母转换并保存至磁盘
问题描述:利用C编程实现从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件“test”中保存。输入的字符串以!结束。问题分析:适当利用数组和循环。程序源码:#include "stdio.h"void main(){FILE *fp;char str[100],filename[10];int i=0;if((fp=fopen("test","w"...原创 2019-03-19 09:29:04 · 861 阅读 · 0 评论 -
C语言编程之八进制转换为十进制
问题描述:使用C语言编程实现八进制转换为十进制。程序源码:#include<stdio.h>void main(){ char *p,s[6];int n;p=s;gets(p);n=0;while(*(p)!='\0'){n=n*8+*p-'0';p++;}printf("%d",n);}...原创 2019-03-12 09:04:54 · 18543 阅读 · 0 评论 -
C语言编程之字符串排序
问题描述:使用C语言编程实现对字符串排序。程序源码:#include<stdio.h>void main(){char *str1[20],*str2[20],*str3[20];char swap();printf("please input three strings\n");scanf("%s",str1);scanf("%s",str2);scanf(...原创 2019-03-12 09:02:46 · 7064 阅读 · 1 评论 -
C语言编程之函数的编写与调用
问题描述:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+...+1/n(最好利用指针函数来完成)。程序源码:#include "stdio.h"int main(){float peven(),podd(),dcall();float sum;int n;while (1){ scanf("%d",&a...原创 2019-03-12 09:00:59 · 1388 阅读 · 0 评论 -
C语言编程之时间函数举例1
问题描述:使用C语言编程实现时间函数举例。程序源码:#include "stdio.h"#include "time.h"void main(){ time_t lt; /*define a longint time varible*/lt=time(NULL);/*system time and date*/printf(ctime(<)); /*english fo...原创 2019-03-15 10:37:38 · 802 阅读 · 0 评论 -
C语言编程之时间函数举例2
问题描述:使用C语言编程实现时间函数举例。程序源码:#include "time.h"#include "stdio.h"void main(){ time_t start,end;int i;start=time(NULL);for(i=0;i<3000;i++){ printf("\1\1\1\1\1\1\1\1\1\1\n");}end=time(NULL)...原创 2019-03-15 10:39:24 · 421 阅读 · 0 评论 -
C语言编程之学用rectangle画方形
问题描述:学用rectangle画方形。问题分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。程序源码:#include<graphics.h>void main(){int x0,y0,y1,x1,driver,mode,i;driver=VGA;mode=VGAHI;initgraph(&driver,&mode,"")...原创 2019-03-08 08:25:13 · 3253 阅读 · 0 评论 -
C语言编程之宏定义画图
问题描述:请使用宏定义画图,综合体现出initgraph、setbkcolor、circle。程序源码:# define PAI 3.1415926# define B 0.809# include"graphics.h"#include"math.h"void main(){int i,j,k,x0,y0,x,y,driver,mode;float a;driver=C...原创 2019-03-08 08:28:26 · 478 阅读 · 0 评论 -
C语言编程之打印出杨辉三角形
问题描述:请使用C语言编程打印出杨辉三角形,至少打印出10行。11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1问题分析:使用联合数组与for循环控制。程序源码:#include<stdio.h>void main(){int i,j;int a[10][10];printf("\n");for(i=0;i<10;i...原创 2019-03-08 08:31:21 · 6698 阅读 · 2 评论 -
C语言编程之学习putpixel画点
问题描述:学习putpixel画点。程序源码:#include "stdio.h"#include "graphics.h"void main(){int i,j,driver=VGA,mode=VGAHI;initgraph(&driver,&mode,"");setbkcolor(YELLOW);for(i=50;i<=230;i+=20) fo...原创 2019-03-08 08:36:49 · 7251 阅读 · 0 评论