码迷,mamicode.com
首页 > 其他好文 > 详细

简单C编程题-同位相同的N项之和/标准输入花括号成对判断/行号行输出

时间:2015-07-19 23:51:25      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:a+aa+aaa+aaaa+aaaaa   快速排序   花括号成对   

//求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字,例如:2+22+222+2222+22222

#include <stdio.h>

int main()
{
	int a,n,sum;
	int i,j;
	sum = 0;
	printf("请输入项数和a的值");
	scanf("%d%d",&a,&n);

	j = a;
	for(i = 1;i <= n;i++)
	{
		sum = sum+a;
		a = j + 10*a;
	}
	printf("Sn = %d",sum);
}

//2.编写一个程序,它从标准输入读取C源代码,并验证所有的花括号都正确的成对出现。0
#include <stdio.h>

int main()
{	
	int c;
	int count;
	count =0;
	while((c = getchar()) != EOF)
	{
		if(c == ‘{‘)
			count++;
		if(c == ‘}‘)
			count--;
	}
		if( 0 == count)
			printf("正确");
		else
			printf("不正确");
	return 0;
}

//标准输入行数,然后标准输出,不限制行数的长度,然后在行数前面加上标号
#include <stdio.h>
#include <stdlib.h>
int main()
{	
	int a,c;
	int count;
	a = 1;
	count = 0;
	while((c = getchar())!= EOF)
	{	
		if(a == 1)
		{
			a = 0;
			count++;
			printf("%d",count);
		}
		putchar(c);
		if(c == ‘\n‘)
		{
			a = 1;
		}
	}
	return 0;
}

//递归的快速排序,并且输出最大值最小值
#include <stdio.h>

void swap(int v[],int a,int b)
{
	int temp;
	temp = v[a];
	v[a] = v[b];
	v[b] = temp;
}

void qsort(int v[],int left,int right)
{
	int i,last;    //last运用于下标转换
	if(left >= right)        //如果左边下标大于右边下标,则跳出递归
		return;
	swap(v,left,(left+right)/2);    //根据快速排序算法,先将第一个值与中间值转换
	last = left;
	for(i = left +1;i <= right;i++)    //v[left]为中间值,对余下值进行判断
	{
		if(v[i] < v[left])
		swap(v,++last,i);            //++last为余下进行进行swap()完成后才进行
	}
	swap(v,left,last);                    //将最左与last分区值转换同上面第一步
	qsort(v,left,last-1);                  //左边计算
	qsort(v,last+1,right);                  //右边计算

}

int main()
{	
	int arry[10];
	int i;
	i = 0;
	for(i = 0;i <sizeof(arry)/sizeof(arry[0]);i++)
	{
		scanf("%d",&arry[i]);
	}
	qsort(arry,0,sizeof(arry)/sizeof(arry[0])-1);
	printf("最大数是%d\n",arry[0]);
	printf("最小数是%d",arry[9]);
	return 0;
}


//对1.2.3.4组合的3位数进行统计
#include <stdio.h>

int main()
{	
	int hundreds,tens,ones;
	hundreds = 0;
	tens = 0;
	ones = 0;
	for(hundreds = 1;hundreds <= 4;hundreds ++)
	{
		for(tens = 1;tens <= 4;tens ++)
		{
			for(ones = 1;ones <= 4;ones ++)
			{
				if(ones != tens && tens != hundreds && hundreds != ones)
				{
					printf("%d%d%d\n",hundreds,tens,ones);
				}
			}
		}
	}

	return 0;
}


本文出自 “剩蛋君” 博客,请务必保留此出处http://memory73.blog.51cto.com/10530560/1676152

简单C编程题-同位相同的N项之和/标准输入花括号成对判断/行号行输出

标签:a+aa+aaa+aaaa+aaaaa   快速排序   花括号成对   

原文地址:http://memory73.blog.51cto.com/10530560/1676152

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!