result=i*j
printf("%d*%d=%-3d",i,j,result)/*-3d表示左对齐,占3位*/}
printf("\n")/*每一行后换行*/}
}
2.
/*古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 兔子的规律为数列1,1,2,3,5,8,13,21....*/ main() {
long f1,f2
int if1=f2=1
for(i=1i<=20i++)
{ printf("%12ld %12ld",f1,f2)
if(i%2==0) printf("\n")/*控制输出,每行四个*/ f1=f1+f2/*前两个月加起来赋值给第三个月*/ f2=f1+f2/*前两个月加起来赋值给第三个月*/
} }
3、/*判断101-200之间有多少个素数,并输出所有素数及素数的个数。
程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。*/ #include "math.h" main() {
int m,i,k,h=0,leap=1 printf("\n")
for(m=101m<=200m++){ k=sqrt(m+1) for(i=2i<=ki++)
if(m%i==0)
{leap=0break}
if(leap)/*内循环结束后,leap依然为1,则m是素数*/
{printf("%-4d",m)h++ if(h%10==0)printf("\n") } leap=1 }
printf("\nThe total is %d",h)
}
4、/*一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程找出1000以内的所有完数。*/ main() {
static int k[10] int i,j,n,s
for(j=2j<1000j++) {
n=-1 s=j
for(i=1i<ji++){if((j%i)==0) { n++ s=s-i k[n]=i }}
if(s==0)
{printf("%d is a wanshu: ",j)for(i=0i<ni++)
printf("%d,",k[i])printf("%d\n",k[n]) } }
}
5、/*编程打印直角杨辉三角形*/ main()
{int i,j,a[6][6] for(i=0i<=5i++) {a[i][i]=1a[i][0]=1} for(i=2i<=5i++)
for(j=1j<=i-1j++)
a[i][j]=a[i-1][j]+a[i-1][j-1] for(i=0i<=5i++) {for(j=0j<=ij++)
printf("%4d",a[i][j]) printf("\n")}
}
这些程序都是经典的,而且很简单,希望对你有帮助,10个我写不下去,因为字数限制,还有一点就是,gcc是编译器,一般是在LINUX平台,实质上C语言的话代码是和WINDOWS没区别的,只是有些库函数的调用有区别,一般在LINUX平台写完一个源代码是.c文件,在GCC中通过命令行输入gcc xx.c就可以生产可执行文件了
客户端:int main()
{ int sockfd//sokce fd 可以man socket 看socket();这个函数运竖的原型
int len
struct sockaddr_in address//connect的函数参数,主要是服务器的ip和端口
int result
char ch = `A`//发送的消息
sockfd = socket(AF_INET,SOCK_STREAM,0) address.sin_family = AF_INET //创建socket
address.sin_addr.s_addr = inet_addr(“127.0.0.1”)//设置服务器的ip地址
address.sin_port = 9734//设置端口
len = sizeof(address)//传给connect函数的掘拍长度
result = connect(sockfd,(struct sockaddr *)&address,len)
if(result == -1) {//连接到服务器,成功返回判悄羡0,注意这里是阻塞方式
peror(“oops:client1”)
exit(1)}
write(sockfd,&ch,1)//往服务器发送消息
read(sockfd,&ch,1)//从服务器读回消息,存放到ch
printf(“char from server = c\n”,ch)//读回的消息,打印
close(sockfd)
exit(0)}
服务器端:
#include<sys/types.h> #include<sys/socket.h>
#include<stdio.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include<unistd.h>
int main()
{ int server_sockfd,client_sockfd
int server_len,client_len
struct sockaddr_in server_address
struct sockaddr_in client_address
server_sockfd = socket(AF_INET,SOCK_STEAM,0)
server_address.sun_family = AF_INET
server_address.sin_addr.s_addr = inet_addr(“127.0.0.1”)
server_address.sin_port = 9734
server_len = sizeof(server_address)
上面部分从简
bind(server_sockfd,(struct sockaddr *)&server_address,server_len)//绑定端口和ip,
listen(server_sockfd,5)//服务器开始监听端口
while(1){
char ch
printf(‘server waiting\n”)
client_len = sizeof(client_address) client_sockfd = accept(server_sockfd,(struct sockaddr*)
&client_address,&client_len)//开始等待客户端连接,如果没有,则阻塞
read(client_sockfd,&ch,1) //建立一个连接后,从客户端读取消息
ch++//A=>B
write(client_sockfd,&ch,1)//写回客户端
close(client_sockfd)}
这是一个简单测试网络连接的程序,其实如果做服务器的话,一般采用的是select +noblocking 或 多线程,线程池,或多进程,进程池。。。
做了个简单的分析,如果不明白的地方,可以发我邮件touchao123@126.com
#!/bin/bash 定义SHELL运行环境read -p "Please input the first number:" num1 请输入第握隐一个数字
read -p "Please input the second number:" num2 请输入第二个数字
read -p "Please input the third number:" num3 请输入第三个数字
min=$num1 定义了一个变量,变量名是min,变量值是第一个数字
if [ $min -gt $num2 ]如果当前变量min的值大于第二个数字
then 那么
min=$num2 变量min将被赋予新值,就是数字二
fi 结束
if [ $min -gt $num3 ]如果当前变量min的值大于第三个数字
then 那么
min=$num3 变量min将被赋予新值,段慎厅就是数字三
fi 结束
echo "The minimum number is $min" 最终显示三个数当中最小的(当前min的值)
假设你输入了 10 5 7,脚本运行是:首先当前变量min的值是10, 然后10和5比较,10比5大,所以变量min被赋予新值,就是5,然后5和7比较,5小于7,所以不会把第三个数字7赋予孝大min作为新值,所以,当前min的值就是还是5,那么就输出显示当前变量min的值5,那么5就是最小的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)