‘壹’ c语言编程实例
首先你观察下你的数列,1-3的值是-2,5-7的值也是-2,9-11的值也是-2,这时只要统计出1到101有多少对-2,然后用对数乘以(-2)就可以统计出1-3+5-7+...-99+101的值了
程序如下:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int i, count, max;
count = 0;
for(i = 1; i<=101; i += 2)
{
count++; //count为1到101奇数的个数
}
max = (count/2)*(-2);
printf("%d\n", max);
return 0;
}
‘贰’ C语言编程实例
首先main中对x进行赋值,是12345678这个无符号长整形数,然后传到part()函数中,结构体那部分不用考虑,其它地方也没有对num进行更改,不会对内容有影响,所以输出结果为12345678;
然后p=&n把n的地址赋给指针p,n.w=num把12345678赋给w,此时结构体n的地址其实就是12345678所在的地址,p指向n,同时结构体*p中的数组part的初始地址也在p上,也就是说p指向的数组part于n.w的首地址是相同的;
看你的输出结果,你的C中int和long应该都是32位吧,所以输出part[0]就是输出part地址上的前32位,即num,part[1]上都是空的,什么也没有,所以就是8个C;
PS:我想这个程序的意义是把long型整数进行拆分,分别输出高低位两部分,但是你的C中的int和long都是32位,所以没成功吧
呵呵,也不知道说的对不,C很久没用了
‘叁’ 最好的c语言实例视频教程
http://www.enet.com.cn/eschool/video/21hulian_c/ 关于计算机二级C语言的比较基础 可以下载
‘肆’ C语言实例
#include
<stdio.h>
#define
N
50
//
排队人数(可任意更改)
#define
CAL
3
//凡报3的人出列(可任意更改)
//下面是排队编号函数:从h
开始的n个人依次编号1到n
void
stdline(int
*h,int
n)
{
int
i;
for(i=1;i<n+1;i++)
*(h+i-1)=i;
}
/*下面函数表示从指针h处开始的人数为boy个人排队,从1报数,每报到call的人出列*/
void
outline(int
*h,int
boy,int
call)
{
int
*p,
chu,
callnum;
/*说明:
p
工作指针,表示从头依次指向每个元素,点名
chu
计数器,记录出列的人数
callnum
计数器,记录点名次序
*/
chu=0;
callnum=0;//各计数器清零
p=h;
//开始时,工作指针指向数组首
printf("出列顺序是:\n");
while(chu<boy)
{
if(*p!=0)
callnum++;
//每次加报数
if(callnum==call)
//如果某一个人报到出列数call...
{
printf("%5d",*p);
//打印编号,表示出列
chu++;
//出列人数加1
if(chu==boy)//如果全部出列....
{
*h=*p;
//把最后一个出列人的编号记入地址开始处
return;
//结束
}
if(chu%10==0)printf("\n");//每输出10个换行
callnum=0;
//出列后,重新报数
*p=0;
//出列后,将其编号赋零,以示区别
}
p++;
//工作指针移向下一个人,即下一个数组元素
if(p>h+boy-1)p=h;/*如果移到最后一个元素的后面,则让指向地址开头继续报数*/
}
}
void
main()
{
int
a[N];
//用数组模拟队列,每个元素代表一个人
stdline(a,N);//编号
outline(a,N,CAL);//计算并打印出列顺序
printf("\n最后留下来的是
%d
号\n",*a);/*在函数中,已经把最后一个人的编号写入了数组首地址处,
这里输出就可以了*/
}
‘伍’ C语言中递归调用的实例以及讲解。
下面演示一个斐波那契数列前N项和#include <stdio.h>
#define COL 10 //一行输出10个
long scan()
{ //输入求fibonacci函数的第N项
int n;
printf("Input the N = ");
scanf("%d",&n);
return n;
}
long fibonacci(int n)
{ //fibonacci函数的递归函数
if (0==n||1==n) { //fibonacci函数递归的出口
return 1;
}
else {
return fibonacci(n-1)+fibonacci(n-2);
//反复递归自身函数直到碰到出口处再返回就能计算出第n项的值
}
}
int main(void)
{
int i,n;
n = scan();
printf("Fibonacci数列的前%d项\n", n);
for (i=0; i<n;) //输出fibonacci函数前n项每项的值
{
printf("%-10ld",fibonacci(i++)); //调用递归函数并且打印出返回值
if(i%COL==0)
{ //若对COL取余等于0就换行,也就是控制每行输出多少个,
//而COL=10就是每行输出10个
printf("\n");
}
}
printf("\n");
return 0;
}
‘陆’ C语言简单例子
C语言中,一般会用到函数。系统默认从主函数开始运行,即main()函数。一般结构为:
void main(void)
{
....
}
一般函数是带有参数的,即后面括号中需要一个或n个变量。中间用逗号隔开。例如
void add(int a, int b)
{
...
}
其中a,b为整形的参数,在大部分系统中int 代表16位的数。
有的函数还有返回值:像上面的一个加法函数,可以写成:
int add(int a,int b)
{
return (a+b); //retuen为返回值
}
当我们要调用该函数时,只需要这要写:
void main(void)
{
int sum = 0;
sum = add(x1,x2); //x1,x2为两个常数
}
‘柒’ C语言编程实例如
先看看书,书是最后的入门方法。
‘捌’ c语言程序设计实例
给你一个,我自己编的:
#include "stdio.h"
int _judge(int x)
{
if(x%400==0)
return(1);
else if(x%4==0&&x%100!=0)
return(1);
else return(0);
}
int _fun(int year,int month,int day)
{
int i,sum=0,a[12]={31,29,31,30,31,30,31,31,30,31,30,31};
if(_judge(year)==1)
{
for(i=0;i<month-1;i++)sum+=a[i];
sum+=day;
}
else
{
a[1]=28;
for(i=0;i<month-1;i++)sum+=a[i];
sum+=day;
}
return(sum);
}
void main()
{
int year,month,day;
printf("Please input the year,month and day:\n");
scanf("%d,%d,%d",&year,&month,&day);
printf("The %dth day in the %dth month of the year %d ",day,month,year);
printf("is the %dth day of this year.\n",_fun(year,month,day));
}
主要是要分闰年平年。所以有一个判断。