c语言编程代码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言编程代码相关的知识,希望对你有一定的参考价值。

c语言编程代码每个题目的代码

两种方法我写在一起,可以独立拆开。

#include <stdio.h>

void finda1(char a[3][10]);

void finda2(char a[3][10]);

void show(char (*p)[10]);

int main()

    char a[3][10]="gehajl","788a987a7","ccabbbabbb";

    printf("原数组内容:\\n");

    show(a);

    printf("\\n1、用数组指针的方法(函数finda1):\\n");

    finda1(a);

    printf("执行后:\\n");

    show(a);


    printf("\\n---------------------\\n");


    char b[3][10]="gehajl","788a987a7","ccabbbabbb";

    printf("原数组内容:\\n");

    show(a);

    printf("\\n2、用指针数组的方法(函数finda2):\\n");

    finda2(b);

    printf("执行后:\\n");

    show(b);

    return 0;

void finda1(char a[3][10])

    int i,j;

    char (*p)[10]=a;

    for(i=0;i<3;i++)

        for(j=0;j<10;j++)

            if(p[i][j]=='a')

                printf("发现:第%d行第%d个元素是‘a’,已替换\\n",i+1,j+1),p[i][j]='1';

void finda2(char a[3][10])

    int i,j;

    char *p[3]=&a[0][0],&a[1][0],&a[2][0];

    for(i=0;i<3;i++)

        for(j=0;j<10;j++)

            if(p[i][j]=='a')

                printf("发现:第%d行第%d个元素是‘a’,已替换\\n",i+1,j+1),p[i][j]='1';


void show(char (*p)[10])

    int i,j;

    for(i=0;i<3;i++,printf("\\n"))

        for(j=0;j<10;j++)

            printf("%c ",p[i][j]);

参考技术A

代码:

#include

int main()



printf("Hello World.\\n");

return 0;





扩展资料:

代码解析:

1.其中第一行的#include ,这行代码是编译预处理指令,用来提供输入输出函数的声明和宏的定义,全局量的定义这些信息。stdio.h是系统提供的一个文件名,stdio是为standard input & output的缩写,意为标准输入输出,文件后缀.h的意思是头文件(header file),因为这些文件都是放在程序各文件模块的开头的。总的来说,输入输出函数的相关信息已事先放在stdio.h文件中,然后,要用#include指令把这些信息调入供使用。

2.void main(),main是主函数的函数名,表示这是一个主函数,每一个C源程序都必须有且只能有一个主函数。

3.函数调用语句,即调用printf("Hello World \\n");语句 ,printf函数的功能是把要输出的内容送到显示器去显示,即打印输出Hello World到windows 控制台下,其中\\n为转义字符,具有转行的功能。

4.printf函数是一个由系统定义的标准函数,可在程序中直接调用。

参考技术B 例如:输入某年某月某日,判断这一天是这一年的第几天。
1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊
      情况,闰年且输入月份大于3时需考虑多加一天。
2.程序源代码:

复制代码 代码如下:

main()

int day,month,year,sum,leap;
printf("\nplease input year,month,day\n");
scanf("%d,%d,%d",&year,&month,&day);
switch(month)/*先计算某月以前月份的总天数*/

 case 1:sum=0;break;
 case 2:sum=31;break;
 case 3:sum=59;break;
 case 4:sum=90;break;
 case 5:sum=120;break;
 case 6:sum=151;break;
 case 7:sum=181;break;
 case 8:sum=212;break;
 case 9:sum=243;break;
 case 10:sum=273;break;
 case 11:sum=304;break;
 case 12:sum=334;break;
 defaultrintf("data error");break;

sum=sum+day;  /*再加上某天的天数*/
 if(year%400==0||(year%4==0&&year%100!=0))/*判断是不是闰年*/
  leap=1;
 else
  leap=0;
if(leap==1&&month>2)/*如果是闰年且月份大于2,总天数应该加一天*/
sum++;
printf("It is the %dth day.",sum);
参考技术C #include "stdafx.h" //这是 VS 预编译头。其他系统删除。
#include<stdio.h>
#include<stdlib.h> //使用 system("pause"); 时需要。
//MS 否决了 scanf 等函数,加上下句,任然可用。其他系统删除。
#pragma warning(disable:4996)

// VS 标准主函数声明,其他系统请根据系统更改。
int _tmain(int argc, _TCHAR* argv[])

char ch[32];
int i, k, t;
printf("请输入手机号:");
while (1)

scanf("%s", ch);
i = 0; k = 0;
while (ch[i] != 0)

if (ch[i] < '0' || ch[i] > '9')

printf("手机号码不能含有非数字字符,请重新输入:");
k = 1;
break;

i++;

if (k)
continue;
if (i < 11)

printf("手机号码小于 11 位,请重新输入:");
continue;

k = 1;
t = (ch[0] - '0') * 100 + (ch[1] - '0') * 10 + (ch[2] - '0');
switch (t)

case 134: case 135: case 136: case 137: case 138: case 139: case 147: case 150: case 151: case 152: case 157: case 158: case 159: case 182: case 187: case 188:
printf("你用的是移动手机");
break;
case 130: case 131: case 132: case 155: case 156: case 185: case 186:
printf("你用的是联通手机");
break;
case 133: case 153: case 180: case 189:
printf("你用的是电信手机");
break;
default:
printf("没有这样的号码,请重新输入:");
k = 0;
break;

if (k)
break;
else
continue;

printf("\n\n");

system("pause"); //防止窗口一闪而过
return 0;
参考技术D 我先说思路,你之后再看下面我写的代码,效果可能比较好。
-------------思路------------------------
若ni是偶数,则ni+1=ni/2;若ni是奇数,则ni+1=3ni+1;若ni=1,则数列结束。
这个用个函数判断,比如定义个contrast(...),再在函数内用if()else做判断。
考虑到你要用void hailstones(int x[],int n0,int *maxp,int *minp)
那么就可以在void hailstones(int x[],int n0,int *maxp,int *minp)内部搞一个函数嵌套,
把contrast(...)内嵌到void hailstones(int x[],int n0,int *maxp,int *minp)中,
而x[]数组,则为了方便,你可以在contrast()的形参表中放一个int [],
即contrast(int x[],...).
又由于要键盘输入数据值n0,则可以用contrast(int a[],int n0)
于是函数建立完毕,为:contrast(int x[],int n0);【需要注意的是函数接受中要接收的是数组名】
----------------------代码如下:----------------------------------------
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int contrast(int a[],int n0);
void hailstones(int x[],int n0,int *maxp,int *minp);
#define Max 100
int main()

int n0;
int a[Max],*Maxp,*Minp;
printf("请输入n0的值:");
scanf("%d",&n0);
printf("\n--------\n结果为:\n--------\n");
hailstones(a,n0,Maxp,Minp);
return 0;

int contrast(int x[],int n0)//计算产生序列

int i;//i是因为i专门做数组的下标
x[0]=n0;
for(i=0;x[i]!=1;i++)

if(x[i]%2==0)
x[i+1]=x[i]/2;
if(x[i]%2==1)
x[i+1]=3*x[i]+1;

x[i]=1;
return (i+1);//之所以要加1(i+1),是因为n0也是一个数

void hailstones(int x[],int n0,int *maxp,int *minp)

int i; //i用来计算x[]的下标,也就是知道产生序列数量
int Maxcount=0,Mincount=0,j=0;/*用作循环,和i进行比较,直到j=i为止,把所有产生序列输出*/
maxp=&Maxcount,minp=&Mincount;
i=contrast(x,n0);//计算产生序列的数量
while(j!=i)

if(n0>x[j])
Mincount++;
if(n0<x[j])
Maxcount++;
j++;

printf("产生序列为:\n");
j=0;
for(j=0;j<=i-1;j++) /*之所以要减1(i-1),是因为虽然有i个数,但下标从0开始[0 ~ i-1]之和为i*/
printf(" x[%d]=%d ",j,x[j]);
printf("\n");
printf("Max=%lu,Min=%lu\n",*maxp,*minp);

值得注意的是,我这个代码有一个问题,就是在main()函数里定义指针时没有给指针赋值,于是编译器出现警告:
warning C4700: local variable 'Minp' used without having been initialized
warning C4700: local variable 'Maxp' used without having been initialized
但实际上这个问题并没有对代码本身产生任何影响,只不过作为编译器,在编译时机械的把一切没有使用的变量、一切没有赋值的指针都看成有风险的,所以会警告,【但运行以及结果照常】,所以大可不必担心这个代码有误,你完全可以忽略这个警告,因为它真的没有任何问题。

c语言代码敲的爱心没有颜色

参考技术A 有。color后面的0c是控制背景颜色和爱心颜色的,0c可以分成两个十六进制数字来看。数字0控制的是背景颜色,0代表黑色,数字c控制的是打印出来的爱心颜色,c代表红色。所以是可以更改颜色的。C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。

以上是关于c语言编程代码的主要内容,如果未能解决你的问题,请参考以下文章

C语言编程代码好坏如何判断

c语言代码敲的爱心没有颜色

C语言 游戏 代码

java代码转c语言

C语言编程

帮忙纠错一个c语言代码