c编程练习2
2018-03-28 16:37
113 查看
1.交换数组
#include<stdio.h>int main()
{
int a[10];
int b[10];
int j;
int k;
int i;
printf("请输入数组a:\n");
for(i = 0;i<10;i++)
{
scanf("%d",&a[i]);
}
printf("请输入数组b:\n");
for(j = 0;j<10;j++)
{
scanf("%d",&b[i]);
}
for(k = 0;k<10;k++)
{
swap(&a[k],&b[k]);
}
printf("交换后a数组为:");
for(i = 0;i<10;i++)
{
printf(" %d",a[i]);
}
printf("交换后b数组为:");
for(j = 0;j<10;j++)
{
printf("%d",b[j]);
}
return 0 ;
}
int swap(int *a,int *b)
{
int t;
t =*a;
*a = *b;
*b = t;
}
简化:
#include<stdio.h>
int main()
{
int arr1[] = {1,2,3,4,5};
int arr2[] = {6,7,8,9,0};
int sz = sizeof(arr1)/sizeof(arr1[0]);
int i = 0;
for(i=0; i<sz; i++)
{
int tmp = arr1[i];
arr1[i] = arr2[i];
arr2[i] = tmp;
}
for(i=0; i<sz; i++)
{
printf("%d ", arr1[i]);
}
printf("\n");
for(i=0; i<sz; i++)
{
printf("%d ", arr2[i]);
}
printf("\n");
system("pause");
return 0;
}
2.求1-1/2+1/3-1/4+...-1/100
1.#include <stdio.h>int main()
{
int i;
float j=1.0,sum=0;
for(i=1;i<=100;i++)
{
sum+=j/i;
j=-j;
}
printf("sum=%.4f",sum);
system("pause");
}
2.
#include<stdio.h>
int main()
{
int i;
double a;
double sum = 0;
for(i = 1;i<100;i = i+2)
{
a = i*i+i;
sum = sum + 1/a;
}
printf("%llf",sum);
system("pause");
return 0;
}
3.1到100 出现9的次数
#include <stdio.h>int main()
{
int i = 1;
int count = 0;
for(i = 1;i <= 100;i++)
{
if(i%10 == 9)
count++;
if(i/10 == 9)
count++;
}
printf("%d",count);
system("pause");
return 0 ;
}
4.1!+2!+3!+...n!
#include<stdio.h>int main()
{
int i = 0;
int j = 0;
int ret = 1;
int sum = 0;
//1 2 6 = 9
for(j=1; j<=3; j++)
{
ret = 1;
for(i=1; i<=j; i++)
{
ret = ret*i;
}
//ret = ret*j;(可以用这种方法)前面的 省略,效率高)
sum = sum + ret;
}
//调试
printf("%d\n", sum);
system("pause");
return 0;
}
5.打印
int main(){
char arr1[] = "welcome to bit!!!!!!";
char arr2[] = "####################";
int left = 0;
int right = strlen(arr1)-1;
printf("%s\n", arr2);
while(left<=right)
{
Sleep(100);
arr2[left] = arr1[left];
arr2[right] = arr1[right];
printf("%s\n", arr2);
left++;
right--;
}
return 0;
}
6.找数
#include <stdio.h>#include <string.h>
#include <windows.h>
int main()
{
int arr[] = {1,2,3,4,5,6,7,8,9,10};
int key = 7;
int left = 0;
int right = sizeof(arr)/sizeof(arr[0])-1;
int a = 10;
int b = 20;
while(left<=right)
{
int mid = left+(right-left)/2;
if(arr[mid]==key)
{
printf("找到了:%d\n", mid);
break;
}
else if(arr[mid]<key)
{
left = mid+1;
}
else
{
right = mid-1;
}
}
if(left>=right)
printf("找不到\n");
return 0;
}
相关文章推荐
- 第十二章编程练习(1)
- 编程小练习(6)
- C++primer plus第六版课后编程练习答案13.2
- C primer plus 第四章字符串和格式化输入输出 个人编程练习
- java例程练习(网络编程[简单网络连接试验])
- Python(编程小白的第一本 Python 入门书) 学习笔记2——代码练习
- C语言编程(练习2:分支和跳转 )
- PAT练习基础编程题目之求自定类型元素序列的中位数
- C++ Primer Plus 第6版 中文版 第5章编程练习
- Java之-----------TCP编程(小练习大用处)
- UFLDL深度学习编程练习1: 多层神经网络
- 第四章编程练习
- ccpp5编程练习6.9
- 5个Shell脚本编程入门练习例子
- Python核心编程 第十章练习
- ubuntu下用Eclipse完成C语言编程练习
- 编程练习(4)
- C Primer Plus(第6版)第五章编程练习答案
- LeetCode编程练习 - Best Time to Buy and Sell Stock II学习心得
- 编程练习8