1. c语言程序代码
例如:输入某年某月某日,判断这一天是这一年的第几天。
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); }
2. 编写一个完整的c语言源程序
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#define MAXTYPE 4
enum { LOW, UP, DIGIT, OTHER };
int count[MAXTYPE];
float percent[MAXTYPE];
int CharTypeCount(char *s)
{
unsigned char *p;
int i;
int n;
memset(count, '\0', sizeof(count));
p = (unsigned char*)s;
n = 0;
while (*p) {
if (*p>='a' && *p<= 'z') {
count[LOW]++;
}
else if (*p>='A' && *p<= 'Z') {
count[UP]++;
}
else if (*p>='0' && *p<= '9') {
count[DIGIT]++;
}
else {
count[OTHER]++;
}
p++;
n++;
}
for (i=0; i<MAXTYPE; i++) {
percent[i] = (count[i]*1.0)/n;
}
return n;
}
int main()
{
char s[1000];
int i;
int n;
while(gets(s) != NULL) {
n = CharTypeCount(s);
if (n <=0 ) {
printf("please input a string!\n");
continue;
}
printf("a-z: %d/%d %.2f%%\n", count[LOW], n, percent[LOW]);
printf("A-Z: %d/%d %.2f%%\n", count[UP], n, percent[UP]);
printf("0-9: %d/%d %.2f%%\n", count[DIGIT], n, percent[DIGIT]);
printf("OTHER: %d/%d %.2f%%\n", count[OTHER], n, percent[OTHER]);
}
return 0;
}
3. C语言 蛇形矩阵源程序写法
1 3 4
2 5
6。。。。
这是有规律的,1,2,3,4,5,6.。。。。位置也有规律。程序有解释。所以我们可以
用数组来实现。
程序和解释如下:
#include"stdio.h"
voidmain()
{
inta[20][20],i,j,c=1,x=1,n,s=0;
printf("请输入n的值: ");
scanf("%d",&n);
while(c<=n*(n+1)/2)
{
for(i=s,j=0;i>=0,j<=s;i--,j++)
{
if(s%2!=0)a[i][j]=c++;//无论n值为多少,规律(奇偶性与递增递减之间的关系)不变。
elsea[j][i]=c++;
}
s++;
}//此为左上部分。
while(c<=n*n)
{
for(i=x,j=s-1;i<=s-1,j>=x;i++,j--)
{
if(n%2==0)/*这里因为n值的奇偶性影响了规律(奇偶性与递增递减之间的关系)
所以要对n值得奇偶性进行判定*/
{
if(x%2!=0)a[i][j]=c++;
elsea[j][i]=c++;
}
else
{
if(x%2==0)a[i][j]=c++;
elsea[j][i]=c++;
}
}
x++;
}//此为右下部分。
for(i=0;i<n;i++)//输出二维数组a[n][n],输出蛇形矩阵。
{
for(j=0;j<n;j++)
printf("%3d",a[i][j]);
printf(" ");
}
}
4. 用C语言编程中,一般的格式是怎样的
C语言源程序的编程格式归纳如下: 1,强制性规则 1,一个C语言源程序必须有且只有一个MAIN函数. 2,函数名后必须紧跟圆括号对,函数体放在右圆括号")"后的花括号对"{}"中. 3,每个程序体(包括函数的函数体,含有多条语句的选择结构和循环结构中的语句序列)必须用一对花括号括起来. 4,文件包含预处理命令,#INCLUDE<*.H>应置于源程序的开始位置. 5,语句未尾必须有分号,而预处理命令和函数首部的未尾及右花括号之后不要分号. 6,同一字母大,小写意义不同,关键字和标准库函数名必须用小写. 7,变量必须先定义,后使用 8,除已有明显间隔符外,标识符,关键字之间必须有至少一个空格 9,注解必须包含在"/* */符号之间 我想你想要知道的是C语言的四种程序结构吧 如下:1,分支语句格式 ①if(条件) {分支体} 这种分支结构中的分支体可以是一条语句,此时“{}”可以省略,也可以是多条语句即复合语句。它有两条分支路径可选,一是当条件为真,执行分支体,否则跳过分支体,这时分支体就不会执行。如:要计算x的绝对值,根据绝对值定义,我们知道,当x>=0时,其绝对值不变,而x<0时其绝对值是为x的反号,因此程序段为:if(x<0)x=-x; ②if(条件) {分支1} else {分支2} ③IF嵌套分支语句:其语句格式为: if(条件1) {分支1} else if(条件2) {分支2} else if(条件3) {分支3} …… else if(条件n) {分支n} else {分支n+1} FOR嵌套,其语句格式为: for(初值A;范围A;步长A) { for(初值B;范围B;步长B) { 循环体 } } FOR嵌套例子:九九乘法表 main()这里是主程序的编程格式,你参考下 { int a,b,c; for(a=1;a<=9;a++) { for(b=1;b<=a;b++) { c=b*a; printf("%dx%d=%d ",b,a,c); } printf("\n"); } }
5. 怎么编写C语言程序,如:Helloworld的
代码如下:
#include<stdio.h>
intmain(void)
{
printf("Hello,world!");
return0;
}
一、首先,打开我们的Visual C++ 6.0软件,我使用的为中文版,软件主界面如下图所示:
(5)c语言原程序写法扩展阅读:
C语言的基本构成:
1、数据类型。C的数据类型包括:整型、字符型、实型或浮点型(单精度和双精度)、枚举类型、数组类型、结构体类型、共用体类型、指针类型和空类型。
2、常量与变量。常量其值不可改变,符号常量名通常用大写。变量是以某标识符为名字,其值可以改变的量。标识符是以字母或下划线开头的一串由字母、数字或下划线构成的序列,请注意第一个字符必须为字母或下划线,否则为不合法的变量名。变量在编译时为其分配相应存储单元。
3、数组。如果一个变量名后面跟着一个有数字的中括号,这个声明就是数组声明。字符串也是一种数组。它们以ASCII的NULL作为数组的结束。要特别注意的是,方括内的索引值是从0算起的。
4、指针。
(1)、如果一个变量声明时在前面使用 * 号,表明这是个指针型变量。换句话说,该变量存储一个地址,而 *(此处特指单目运算符 * ,下同。C语言中另有 双目运算符 *) 则是取内容操作符,意思是取这个内存地址里存储的内容。指针是 C 语言区别于其他同时代高级语言的主要特征之一
(2)、指针不仅可以是变量的地址,还可以是数组、数组元素、函数的地址。通过指针作为形式参数可以在函数的调用过程得到一个以上的返回值,不同于return(z)这样的仅能得到一个返回值。
(3)指针是一把双刃剑,许多操作可以通过指针自然的表达,但是不正确的或者过分的使用指针又会给程序带来大量潜在的错误。
5、字符串。C语言的字符串其实就是以'