ios学习笔记--(c基础题1)
//1、打印1 - 100中不能被7整除又不包含7的数
test1();
//2、输入两个数,求最大公约数和最小公倍数。(最大公约数,最大可以对两个整数约分的数字)
test2();
3、随机产生20个[10 , 100]的正整数,输出这些数以及他们中的最大数
test3();
//4、编程将所有“水仙花数”打印出来,并打印其总个数。 “水仙花数”是一个各个位立方之和等于该整数的三位数。
test4();
// 5、使用循环打印三角形
// *
// **
// *
// **
// *
test5();
//6、编写程序,找出用户输入的一串数中的最大数。程序需要提示用户一个一个地输入。当用户输入0或负数时,程序必须显示出已输入的最大非负数。
test6();
//7、求S(n) = a+aa+aaa+aaaa+…+aa..a之值,其中a是一个数字,n表示a的位数例如:2+22+222+2222+22222(此时n=5),n和a都从键盘输入。
test7();
//8、求1!+2!+3!+4!+..+20!
test8();
//9、一个球从100m高度自由落下,每次落地后反跳回原来高度的一半,再落下,再反弹。求它在第10次落地时,共经过多少米?第10次反弹多高?
test9();
//10、猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天 早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,就只剩一个桃子了。求第一天共摘多少个桃子.
test10();
//
// main.m
// c23 test
//
// Created by dq on 15/7/16.
// Copyright (c) 2015年 dq. All rights reserved.
//
#import <Foundation/Foundation.h>
void test1()
{
for (int i=1; i<=100; i++) {
if(i%10!=7&&i%7!=0&&i!=7)
{
printf("%d\n",i);
}
}
}
void test2()
{
printf("请输入两个数");
int a,b,temp,max,min;
scanf("%d,%d",&a,&b);
if(a>b)
{
max=a;
min=b;
}
else
{
max =b;
min =a;
}
while (min) {//循环条件 注意
temp =max%min;
max=min;
min=temp;
}
printf(" 最大公约数:%d\n",max);
printf("最大公倍数%d",a*b/max);
}
void test3(){
int a,max=0;
for (int i=0; i<20; i++) {
a=arc4random()%91+10;
if(a>max)
{
max=a;
}
}
printf("%d",max);
}
void test4(){
int count,sum;
for (int i=100; i<=999; i++) {
sum = (i/100)*(i/100)*(i/100)+((i/10)%10)*((i/10)%10)*((i/10)%10)+(i%10)*(i%10)*(i%10);
if(sum ==i){
printf("%d\n",i);
count++;
}
}
printf("次数%d",count);
}
void test5()
{
for (int i=1; i<=5; i++) {
for (int j=1; j<=i; j++) {
printf("*");
}
printf("\n");
}
}
void test6(){
int a,max=0;
for (int i=0; i<99; i++) {
printf("请输入数 \n");
scanf("%d",&a);
if(a>max)
{
max=a;
}
if (a<=0) {
break;
}
}
printf(" 最大数是%d",max);
}
void test7(){
int a,n,sum=0,sum1;
printf("请输入a和n\n");
scanf("%d,%d",&a,&n);
sum1=a;
for (int i=1; i<=n; i++) {
sum1=sum1*10+a;
sum =sum+sum1;
}
printf("%d",sum);
}
void test8(){
long int n=20,a=1,sum=0;
for (int i=1; i<=n; i++) {
a=1; //要将a重置为1
for (int j=1; j<=i; j++) {
a=a*j;
}
sum =sum+a;
}
printf("%ld",sum);
}
void test9()
{
float n=100,sum=0;
for (int i=0; i<10; i++) {
sum=sum+n*2;
n/=2;
}
printf("下落%f最后一次%f",sum-100,n);
}
void test10(){
int count=1;
for (int i=1; i<10; i++) {
count=(count+1)*2;
}
printf("%d",count);
}
int main(int argc, const char * argv[]) {
@autoreleasepool {
//1、打印1 - 100中不能被7整除又不包含7的数
//test1();
//2、输入两个数,求最大公约数和最小公倍数。(最大公约数,最大可以对两个整数约分的数字)
//test2();
3、随机产生20个[10 , 100]的正整数,输出这些数以及他们中的最大数
// test3();
//4、编程将所有“水仙花数”打印出来,并打印其总个数。 “水仙花数”是一个各个位立方之和等于该整数的三位数。
//test4();
// 5、使用循环打印三角形
// *
// **
// ***
// ****
// *****
// test5();
//6、编写程序,找出用户输入的一串数中的最大数。程序需要提示用户一个一个地输入。当用户输入0或负数时,程序必须显示出已输入的最大非负数。
// test6();
//7、求S(n) = a+aa+aaa+aaaa+...+aa..a之值,其中a是一个数字,n表示a的位数例如:2+22+222+2222+22222(此时n=5),n和a都从键盘输入。
// test7();
//8、求1!+2!+3!+4!+..+20!
//test8();
//9、一个球从100m高度自由落下,每次落地后反跳回原来高度的一半,再落下,再反弹。求它在第10次落地时,共经过多少米?第10次反弹多高?
// test9();
//10、猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天 早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,就只剩一个桃子了。求第一天共摘多少个桃子.
//test10();
}
return 0;
}